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 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 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()'
'
Poznámky
Vlastnost StackTrace uvádí volání metody v obráceném chronologickém pořadí, to znamená, že nejnovější volání metody je popsáno jako první a jeden řádek trasování zásobníku informace je uveden pro každé volání metody v zásobníku. Vlastnost však StackTrace nemusí hlásit tolik volání metod, kolik byste očekávali kvůli transformacím kódu, ke kterým dochází během optimalizace.
Poznámka
Pro hierarchické zobrazení informací trasování zásobníku podle třídy použijte StackTrace třídu .
Vlastnost StackTrace formátuje informace trasování zásobníku pro každé volání metody takto:
"ve společnosti FullClassName
.MethodName
(MethodParams
) in FileName
:line LineNumber
"
Literálu "at" předchází tři mezery a pokud nejsou k dispozici symboly ladění, vynechá se celý podřetěžce začínající na "in". Zástupné symboly FullClassName
, , MethodName
, FileName
MethodParams
a LineNumber
se nahradí 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ázev parametru. Každý pár je oddělen čárkou (","). Tato informace je vynechána, pokud MethodName
nemají žádné parametry.
FileName
Název zdrojového souboru, ve MethodName
kterém je deklarována metoda. Tato informace je vynechána, pokud nejsou k dispozici symboly ladění.
LineNumber
Číslo řádku v FileName
, který obsahuje zdrojový kód z MethodName
instrukce, která je v zásobníku volání. Tato informace je vynechána, pokud nejsou k dispozici symboly ladění.
Řetězec Environment.NewLine ukončí každý řádek trasování zásobníku.