Ich habe eine VB.NET 2010 Winforms-Anwendung, wo ich Zeilennummern in den Stack-Trace einfügen möchten. Ich habe die folgenden Fragen und Antworten lesen:Abrufen von VB.NET-Zeilennummern im Stack-Trace
how to print out line number during application run in VB.net
Welche „Sie müssen immer enthalten die PDB-Datei mit Ihrem Code, der Informationen enthält, die das Debuggen in Situationen wie diese verwendet wird“ erwähnt. Unter den erweiterten Compiler-Einstellungen habe ich versucht, "Debug-Informationen zu erzeugen" als "pdb-only" und "full" für meine Build-Version und bestätigt, dass eine neue PDB-Datei im selben Verzeichnis wie meine EXE generiert wird. Doch der folgende Testcode erzeugt für jeden Stapelrahmen eine Zeilennummer von Null und gibt keinen Dateinamen:
Dim st As StackTrace = New StackTrace(ex)
For Each sf As StackFrame In st.GetFrames
MsgBox("Line " & sf.GetFileLineNumber() & sf.GetFileName)
Next
jedoch den folgenden Code direkt nach dem es eine ansonsten gut aussehenden Stack-Trace erzeugt, so scheint es nicht, , um ein Problem mit den Exception-Handler im allgemeinen:
ExceptionDetails.Text = ex.GetType.ToString & "(0x" & hr.ToString("X8") & "): " & ex.Message & vbCrLf & ex.StackTrace
ich kann keine andere wahrscheinlich Einstellungen unter der Projektkonfiguration scheinen zu finden und fragte mich, ob jemand Ideen auf anderen Dinge hatte, die dieses Problem verursachen kann. Alle Lösungen, die ich hier und anderswo gefunden habe, scheinen nur darauf hinzuweisen, dass die PDB dem Pfad der ausführbaren Datei entspricht.
Das ist fantastisch. Danke fürs Schreiben :) – CrazyTim