« StackTrace » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Aucun résumé des modifications
 
(Aucune différence)

Dernière version du 10 juin 2017 à 13:58

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();