StackTrace

De Banane Atomic
Révision datée du 10 juin 2017 à 15:58 par Nicolas (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche
Csharp.svg
// Moyen le plus simple d'imprimer la StackTrace :
string stackTraceString = Environment.StackTrace;
// Equivalent à (new StackTrace(true)).ToString() 
// avec les 2 lignes suivantes en plus
// à System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
// à System.Environment.get_StackTrace()

// l'argument NeedFileInfo à true permet de récupérer le nom du fichier 
// et le numéro de ligne
var stackTrace = new StackTrace(true);
// Les StackFrame correspondent aux couches d'appels : 
// la couche 0 correspond à la méthode courante, 
// la couche 1 correspond à la méthode parente dans l'arbre des appels
StackFrame stackFrame = stackTrace.GetFrame(0);

MethodBase method = stackFrame.GetMethod();
string file = stackFrame.GetFileName();
int lineNumber = stackFrame.GetFileLineNumber();