Environment.StackTrace Tulajdonság

Definíció

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.

A következőre érvényes: