Environment.StackTrace Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lekéri az aktuális verem nyomkövetési adatait.
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
Tulajdonság értéke
A verem nyomkövetési adatait tartalmazó sztring. Ez az érték lehet Empty.
Példák
Az alábbi példa a tulajdonságot StackTrace mutatja be.
// 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()'
'
Megjegyzések
A StackTrace tulajdonság fordított időrendi sorrendben sorolja fel a metódushívásokat, vagyis a legújabb metódushívást írja le először, és a verem minden metódushívásához egy sornyi nyomkövetési információ szerepel. Előfordulhat azonban, hogy a StackTrace tulajdonság nem jelenti a várt számú metódushívást az optimalizálás során bekövetkező kódátalakítások miatt.
Note
A verem nyomkövetési információinak osztályonkénti hierarchikus nézetéhez használja az osztályt StackTrace .
A StackTrace tulajdonság az egyes metódushívásokhoz a következőképpen formázhatja a verem nyomkövetési adatait:
"at FullClassName.MethodName(MethodParams) a következőben FileName : :line LineNumber "
Az "at" literális értéket három szóköz előzi meg, és ha a hibakeresési szimbólumok nem érhetők el, a teljes "in" kezdetű részszúrás kimarad. A helyőrzők, FullClassName, MethodName, MethodParams, FileNameés LineNumber, helyébe tényleges értékek lépnek, és a következőképpen vannak definiálva:
FullClassName Az osztály teljes neve, beleértve a névteret is.
MethodName A metódus neve.
MethodParams A paramétertípus-/névpárok listája. Minden pár vesszővel (",") van elválasztva. Ez az információ nem jelenik meg, ha MethodName nem vesz fel paramétereket.
FileName Annak a forrásfájlnak a neve, amelyben a MethodName metódus deklarálva van. Ez az információ nem jelenik meg, ha a hibakeresési szimbólumok nem érhetők el.
LineNumber Annak a sornak FileName a száma, amely a hívásveremen lévő utasítás forráskódját MethodName tartalmazza. Ez az információ nem jelenik meg, ha a hibakeresési szimbólumok nem érhetők el.
A Environment.NewLine sztring megszakítja a verem nyomkövetési vonalait.