Environment.StackTrace Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die aktuellen Stapelüberwachungsinformationen ab.
public:
static property System::String ^ StackTrace { System::String ^ get(); };
public static string StackTrace { get; }
static member StackTrace : string
Public Shared ReadOnly Property StackTrace As String
Eigenschaftswert
Eine Zeichenfolge, die Stapelüberwachungsinformationen enthält. Dieser Wert kann Empty sein.
Beispiele
Im folgenden Beispiel wird die StackTrace -Eigenschaft veranschaulicht.
// Sample for the Environment::StackTrace property
using namespace System;
int main()
{
Console::WriteLine();
Console::WriteLine( "StackTrace: ' {0}'", Environment::StackTrace );
}
/*
This example produces the following results:
StackTrace: ' at System::Environment::GetStackTrace(Exception e)
at System::Environment::GetStackTrace(Exception e)
at System::Environment::get_StackTrace()
at Sample::Main()'
*/
// Sample for the Environment.StackTrace property
using System;
class Sample
{
public static void Main()
{
Console.WriteLine();
Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace);
}
}
/*
This example produces the following results:
StackTrace: ' at System.Environment.GetStackTrace(Exception e)
at System.Environment.GetStackTrace(Exception e)
at System.Environment.get_StackTrace()
at Sample.Main()'
*/
// Sample for the Environment.StackTrace property
open System
printfn $"\nStackTrace: '{Environment.StackTrace}'"
// This example produces the following results:
// StackTrace: ' at System.Environment.GetStackTrace(Exception e)
// at System.Environment.GetStackTrace(Exception e)
// at System.Environment.get_StackTrace()
// at <StartupCode$fs>.$Stacktrace.main@()'
' Sample for the Environment.StackTrace property
Class Sample
Public Shared Sub Main()
Console.WriteLine()
Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace)
End Sub
End Class
'
'This example produces the following results:
'
'StackTrace: ' at System.Environment.GetStackTrace(Exception e)
' at System.Environment.GetStackTrace(Exception e)
' at System.Environment.get_StackTrace()
' at Sample.Main()'
'
Hinweise
Die StackTrace -Eigenschaft listet Methodenaufrufe in umgekehrter chronologischer Reihenfolge auf, d. h. der letzte Methodenaufruf wird zuerst beschrieben, und für jeden Methodenaufruf auf dem Stapel wird eine Zeile mit Stapelablaufverfolgungsinformationen aufgeführt. Die -Eigenschaft meldet jedoch aufgrund von Codetransformationen, die während der StackTrace Optimierung auftreten, möglicherweise nicht so viele Methodenaufrufe wie erwartet.
Hinweis
Verwenden Sie StackTrace die -Klasse, um eine hierarchische Ansicht der Stapelablaufverfolgungsinformationen nach Klasse anzuzeigen.
Die StackTrace -Eigenschaft formatiert die Stapelablaufverfolgungsinformationen für jeden Methodenaufruf wie folgt:
"bei FullClassName
.MethodName
(MethodParams
) in FileName
:line LineNumber
"
Dem Literal "at" sind drei Leerzeichen vorangestellt, und die gesamte Teilzeichenfolge ab "in" wird weggelassen, wenn Debugsymbole nicht verfügbar sind. Die Platzhalter , FullClassName
, MethodName
, MethodParams
FileName
, und LineNumber
werden durch tatsächliche Werte ersetzt und wie folgt definiert:
FullClassName
Der vollständige Name der Klasse, einschließlich des Namespace.
MethodName
Der Name der Methode.
MethodParams
Die Liste der Parametertyp-Name-Paare. Jedes Paar ist durch ein Komma (",") getrennt. Diese Informationen werden weggelassen, wenn MethodName
keine Parameter verwendet werden.
FileName
Der Name der Quelldatei, in der die MethodName
Methode deklariert ist. Diese Informationen werden weggelassen, wenn Debugsymbole nicht verfügbar sind.
LineNumber
Die Nummer der Zeile in FileName
, die den Quellcode von MethodName
für die Anweisung enthält, die sich auf dem Aufrufstapel befindet. Diese Informationen werden weggelassen, wenn Debugsymbole nicht verfügbar sind.
Die Environment.NewLine Zeichenfolge beendet jede Zeile der Stapelablaufverfolgung.