Als Teil einer Fehlerbehandlung in unserem Produkt möchten wir einige Stack-Trace-Informationen ausgeben. Wir stellen jedoch fest, dass viele Benutzer einfach einen Screenshot des Fehlermeldungsdialogs erstellen, anstatt uns eine Kopie des vollständigen Berichts aus dem Programm zu senden, und daher möchte ich in diesem Dialog einige minimale Stack-Trace-Informationen zur Verfügung stellen.Druckstack-Trace-Informationen von C#
Eine .NET-Stack-Trace auf meinem Rechner sieht wie folgt aus:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.StreamReader..ctor(String path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
at System.IO.StreamReader..ctor(String path)
at LVKWinFormsSandbox.MainForm.button1_Click(Object sender, EventArgs e) in C:\Dev\VS.NET\Gatsoft\LVKWinFormsSandbox\MainForm.cs:line 36
Ich habe diese Frage:
Das Format sieht dies sein:
at <class/method> [in file:line ##]
jedoch die bei und in Keywords, ich nehme an, diese werden lokalisiert, wenn sie, sagen wir, eine norwegische .NET-Laufzeit i anstelle der englischen habe ich installiert.
Gibt es eine Möglichkeit für mich, diese Stack-Trace in einer Sprache-Neutral-Art zu trennen, so dass ich nur die Datei und Zeilennummer für die Einträge anzeigen kann, die dies haben?
Mit anderen Worten, würde ich diese Informationen aus dem obigen Text mag:
C:\Dev\VS.NET\Gatsoft\LVKWinFormsSandbox\MainForm.cs:line 36
Jede Beratung Sie wird hilfreich sein, geben. anstelle einer Zeichenfolge ein Stacktrace-Objekt zu erhalten, indem er sagte
var trace = new System.Diagnostics.StackTrace(exception);
Sie können dann schauen Sie sich die Bilder selbst, ohne sich auf den Rahmen der Formatierung
Ich wünschte, jemand das Parsen Antwort auf diese gegeben hätte, wie ich mit protokollierten Strings aus beliebigen Anwendungen arbeiten bin und Ich hatte wirklich gehofft, ein paar Details dazu zu bekommen.Wenn Sie die Quelle des StackTrace kontrollieren, haben Sie in der Tat die richtige Antwort gewählt :) – TheXenocide