Articles of stack trace

Utilisez l’atsortingbut C # pour suivre l’appel de fonction, les variables et la valeur renvoyée?

En Python, je peux utiliser des décorateurs pour suivre l’appel de fonction, ses variables et ses valeurs. C’est très facile à utiliser. Je me demande juste si C # peut faire la même chose? Je découvre qu’il existe un exemple de code d’atsortingbut CallTracing en ligne. Cependant, il n’a pas montré le résultat que j’attendais. […]

Pourquoi mes traces de stack d’exceptions pointent-elles toujours sur la dernière ligne de méthode?

J’ai un problème avec mon installation de Visual Studio. Quand j’ai une exception, j’ai toujours des numéros de ligne incorrects dans sa trace de stack. Il y a toujours un point vers la dernière ligne de chaque méthode dans ma base de code. En même temps, tout est en ordre lorsque je trace des programmes […]

Vide StackTrace. Possible?

Existe-t-il des scénarios possibles dans lesquels la trace de stack peut être complètement vide? On m’a transmis un texte de journal des événements copié à partir des propriétés de la machine, qui indique ce qui suit: Description : une exception non gérée s’est produite et le processus a été arrêté. ID de l’application : DefaultDomain […]

Un moyen d’éviter l’optimisation inline de la propriété en C #?

J’ai donc une classe PropertyBag destinée à implémenter INotifyPropertyChanged. Afin de rendre ce code aussi propre que possible et d’éviter les erreurs de l’utilisateur, j’utilise la stack pour obtenir le nom de la propriété. Vous voyez, si le nom de la propriété ne correspond pas exactement à la propriété réelle, alors vous aurez un échec […]

stack d’appels d’exception tronquée sans relance

J’ai un cas inhabituel où j’ai une exception très simple qui est lancée et prise dans la même méthode. Ce n’est pas re-jeté (le genre habituel de problèmes de programmeurs naïfs ont). Et pourtant, son StackFrame ne contient qu’une seule méthode actuelle. Voici à quoi ça ressemble: at (my class).MyMethod() in C:\(my file path and […]

Récupère le nom de fichier depuis stacktrace et frame quand lève une exception

J’ai essayé d’obtenir le nom de fichier et le numéro de source lorsqu’une exception est levée. Mais je n’ai rien. class Program { static void Main(ssortingng[] args) { try { throw new InvalidOperationException(); } catch (InvalidOperationException exception) { var stackTrace = new StackTrace(exception); var currentFrame = stackTrace.GetFrame(0); var fileName = currentFrame.GetFileName(); var sourceLineNumber = currentFrame.GetFileLineNumber(); […]

Comment obtenir le stacktrace natif à partir d’exceptions natives interceptées dans du code managé

J’ai un code managé qui appelle une méthode dans une DLL native (j’ai les fichiers de symboles appropriés). Parfois, cette méthode native lève une exception que je rattrape dans mon code managé. Cependant, lorsque j’imprime le stacktrace à partir de mon exception interceptée, je ne vois que du code géré (la dernière image est l’appel […]

IIS ne donnant pas les numéros de ligne dans la trace de stack même si pdb est présent

Web config a debug = true et le projet est une version de débogage et les fichiers pdb sont présents dans le répertoire bin, mais je n’obtiens pas de numéros de ligne dans mon stacktrace lorsqu’une exception est levée. Fonctionne bien avec IIS / Cassini local mais pas sur nos serveurs IIS de test. Y […]

StackTrace nom de fichier inconnu

Quelque chose d’étrange se passe dans mon code lorsque j’utilise un StackTrace. C’est presque comme si les informations de débogage n’étaient pas en cours de chargement … mais j’exécute ceci sur la version DEBUG. J’ai sérieusement manqué d’idées: public class TraceHelper { private static IDictionary TraceDictionary = new Dictionary(); public TraceHelper(int duration) { … TraceDictionary[InternalGetCallingLocation()]+=duration; […]

StackTrace / StackFrame ne renvoie pas les informations attendues dans un environnement de production

J’utilise la méthode suivante dans mon application Web ASP.NET pour recevoir la trace de stack pour une exception: public static void getStackTraceInfo(System.Diagnostics.StackTrace trace) { for (int i = 0; i < trace.FrameCount; i++) { int nLine = trace.GetFrame(i).GetFileLineNumber(); int nCol = trace.GetFrame(i).GetFileColumnNumber(); string methodName = trace.GetFrame(i).GetMethod().Name; } } try { } catch(Exception ex) { getStackTraceInfo(new […]