Okay; Angenommen, dieser Code läuft im Debug-Modus -
%Vor% Ich gebe IMMER null zurück. Warum haben die Stack-Frames keine Zeilennummern, wenn ich die Exception.StackTrace
-Zeichenfolge überprüfe, hat sie diese eindeutig für jeden Nicht-Framework-Code? Gibt es ein Problem mit der Erstellung eines Stack-Trace von einer Ausnahme, die mir nicht bekannt ist?
EDIT FÜR KLARHEIT: In der ausgelösten Ausnahme kann ich die Zeilennummern in der StackTrace-Eigenschaft sehen. Ich nehme an, das bedeutet, dass ich alles andere habe, was ich brauche.
Laut der Dokumentation zur StackTrace-Konstruktorüberladung, die eine Ausnahme auslöst , können Sie dies nicht tun erwarte Zeilennummern beim Erstellen des StackTrace auf diese Weise.
Der StackTrace wird mit dem erstellt der aktuelle Thread des Aufrufers und nicht Dateiname, Zeilennummer oder Spalteninformationen.
Um die Zeilennummern zu erhalten, müssen Sie die Überladung verwenden ein Bool sowie die Ausnahme .
Sie benötigen auch Symboldateien (pdb) für Zeilennummern. Symboldateien sind für beide Debug- und Release-Builds verfügbar.
Tags und Links .net debugging stack-trace line-numbers