Environment.StackTrace Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar aktuell stackspårningsinformation.
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
Egenskapsvärde
En sträng som innehåller stackspårningsinformation. Det här värdet kan vara Empty.
Exempel
I följande exempel visas egenskapen StackTrace .
// 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()'
'
Kommentarer
Egenskapen StackTrace listar metodanrop i omvänd kronologisk ordning, det vill säga det senaste metodanropet beskrivs först och en rad med stackspårningsinformation visas för varje metodanrop i stacken. Egenskapen kanske dock StackTrace inte rapporterar så många metodanrop som förväntat på grund av kodtransformeringar som sker under optimeringen.
Note
Om du vill ha en hierarkisk vy över stackspårningsinformationen efter klass använder du StackTrace klassen .
Egenskapen StackTrace formaterar stackspårningsinformationen för varje metodanrop enligt följande:
"på FullClassName.MethodName(MethodParams) i FileName :line LineNumber "
Literalen "at" föregås av tre blanksteg och hela delsträngen som börjar med "in" utelämnas om felsökningssymbolerna inte är tillgängliga. Platshållarna , FullClassName, MethodNameMethodParams, , FileNameoch LineNumber, ersätts av faktiska värden och definieras på följande sätt:
FullClassName Det fullständiga namnet på klassen, inklusive namnområdet.
MethodName Namnet på metoden.
MethodParams Listan över parametertyp/namnpar. Varje par avgränsas med ett kommatecken (","). Den här informationen utelämnas om MethodName den inte tar några parametrar.
FileName Namnet på källfilen där MethodName metoden deklareras. Den här informationen utelämnas om felsökningssymboler inte är tillgängliga.
LineNumber Numret på raden i FileName som innehåller källkoden från MethodName för instruktionen som finns i anropsstacken. Den här informationen utelämnas om felsökningssymboler inte är tillgängliga.
Strängen Environment.NewLine avslutar varje rad i stackspårningen.