Udostępnij za pośrednictwem


Environment.StackTrace Właściwość

Definicja

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 .FullClassNameMethodName(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, , MethodNameMethodParams, FileNamei 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.

Dotyczy