Environment.StackTrace Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá aktuální informace o trasování zásobníku.
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
Hodnota vlastnosti
Řetězec obsahující informace o trasování zásobníku. Tato hodnota může být Empty.
Příklady
Následující příklad ukazuje StackTrace vlastnost.
// 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()'
'
Poznámky
Vlastnost StackTrace uvádí volání metod v obráceném chronologickém pořadí, tj. poslední volání metody je popsáno jako první a jeden řádek informací o trasování zásobníku je uveden pro každé volání metody v zásobníku. Vlastnost však nemusí hlásit tolik volání metod podle StackTrace očekávání kvůli transformacím kódu, ke kterým dochází během optimalizace.
Note
Pro hierarchické zobrazení informací o trasování zásobníku podle třídy použijte StackTrace třídu.
Vlastnost StackTrace formátuje informace o trasování zásobníku pro každé volání metody následujícím způsobem:
"na FullClassName.MethodName(MethodParams) v FileName :line LineNumber "
Literál "at" je před třemi mezerami a celý podřetězdí začínající na "in" je vynechán, pokud nejsou k dispozici symboly ladění. Zástupné symboly, , FullClassNameMethodNameMethodParamsFileNamea LineNumber, jsou nahrazeny skutečnými hodnotami a jsou definovány takto:
FullClassName Úplný název třídy, včetně oboru názvů.
MethodName Název metody.
MethodParams Seznam dvojic typů/názvů parametrů. Každý pár je oddělený čárkou (","). Pokud tyto informace neobsahují žádné parametry, tyto informace se vynechá MethodName .
FileName Název zdrojového souboru, ve kterém MethodName je metoda deklarována. Tyto informace se vynechá, pokud nejsou k dispozici symboly ladění.
LineNumber Číslo řádku obsahujícího FileName zdrojový kód z MethodName instrukce, která je v zásobníku volání. Tyto informace se vynechá, pokud nejsou k dispozici symboly ladění.
Řetězec Environment.NewLine ukončí každý řádek trasování zásobníku.