Environment.StackTrace Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera bieżące informacje dotyczące śledzenia stosu.
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
Wartość właściwości
Ciąg zawierający informacje dotyczące śledzenia stosu. Ta wartość może być następująca Empty: .
Przykłady
W poniższym przykładzie przedstawiono StackTrace właściwość .
// 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()'
'
Uwagi
Właściwość StackTrace wyświetla wywołania metody w odwrotnej kolejności chronologicznej, czyli najnowsze wywołanie metody jest opisane jako pierwsze, a jeden wiersz informacji śledzenia stosu jest wyświetlany dla każdego wywołania metody w stosie. StackTrace Jednak właściwość może nie zgłaszać tak wielu wywołań metody, jak oczekiwano z powodu przekształceń kodu występujących podczas optymalizacji.
Uwaga
Aby uzyskać hierarchiczny widok informacji śledzenia stosu według klasy, użyj StackTrace klasy .
Właściwość StackTrace formatuje informacje śledzenia stosu dla każdego wywołania metody w następujący sposób:
"w .FullClassName
MethodName
(MethodParams
) w FileName
:line LineNumber
"
Literał "at" jest poprzedzony trzema spacjami, a cały podciąg rozpoczynający się od ciągu "in" zostanie pominięty, jeśli symbole debugowania nie są dostępne. Symbole zastępcze, FullClassName
, , MethodName
MethodParams
, FileName
i LineNumber
, są zastępowane wartościami rzeczywistymi i są definiowane w następujący sposób:
FullClassName
Pełna nazwa klasy, w tym przestrzeń nazw.
MethodName
Nazwa metody.
MethodParams
Lista par typów/nazw parametrów. Każda para jest oddzielona przecinkiem (","). Te informacje są pomijane, jeśli MethodName
nie przyjmuje żadnych parametrów.
FileName
Nazwa pliku źródłowego, w którym MethodName
zadeklarowana jest metoda. Informacja ta jest pomijana w razie niedostępności symboli debugowania.
LineNumber
Numer wiersza w FileName
pliku, który zawiera kod źródłowy instrukcji MethodName
, która znajduje się na stosie wywołań. Informacja ta jest pomijana w razie niedostępności symboli debugowania.
Ciąg Environment.NewLine kończy każdy wiersz śladu stosu.