web-dev-qa-db-fra.com

Obtenir par programme la trace de pile C #

Duplicata possible:
Comment imprimer la trace de pile actuelle dans .NET sans aucune exception?

Lorsqu'une exception est levée, son texte contient la trace de pile. Puis-je en quelque sorte obtenir le texte de trace de la pile (y compris le fichier et la ligne) sans exception?

public void f()
{
   //blah
   string stacktrace = ???;
   //blah
}
38
Armen Tsirunyan

Environment.StackTrace ou System.Diagnostics.StackTrace si vous avez besoin d'une représentation plus pratique (c'est-à-dire pas une chaîne)

73
larsmoa

Oui ...

StackTrace stackTrace = new StackTrace();           // get call stack
StackFrame[] stackFrames = stackTrace.GetFrames()
19
ColinE
string stackTrace = Environment.StackTrace;
14
Phil Gan