Arriver VB.NET les numéros de ligne dans la trace de la pile
J'ai un VB.NET 2010 Winforms demande où je voudrais inclure des numéros de ligne dans la trace de la pile. J'ai lu la question et réponses:
comment faire pour imprimer le numéro de ligne lors de l'exécution de l'application dans VB.net
Qui cite "vous devez toujours inclure le fichier PDB avec votre code, qui contient des informations de débogage qui est utilisé dans des situations de ce genre". Sous paramètres avancés du compilateur, j'ai essayé de "Générer les informations de débogage" comme "apb" et "full" pour ma libération construire et a confirmé qu'un nouveau fichier PDB est généré dans le même dossier que mon fichier EXE. Cependant, le test code suivant génère un numéro de la ligne de zéro pour chaque frame de pile et ne retourne pas un nom de fichier:
Dim st As StackTrace = New StackTrace(ex)
For Each sf As StackFrame In st.GetFrames
MsgBox("Line " & sf.GetFileLineNumber() & sf.GetFileName)
Next
Cependant le code suivant juste après il génère une bonne à la recherche de trace de pile de sorte qu'il ne semble pas être un problème avec le gestionnaire d'exception générale:
ExceptionDetails.Text = ex.GetType.ToString & "(0x" & hr.ToString("X8") & "): " & ex.Message & vbCrLf & ex.StackTrace
Je n'arrive pas à trouver toutes les autres paramètres dans la configuration du projet et je me demandais si quelqu'un avait des idées sur d'autres choses qui peuvent causer ce problème. Toutes les solutions que j'ai trouvé de la recherche d'ici et d'ailleurs semblent suggérer de s'assurer l'APB est dans le même chemin que le fichier exécutable.
OriginalL'auteur PeterJ | 2012-12-27
Vous devez vous connecter pour publier un commentaire.
De la la documentation du constructeur, vous êtes d'appel:
Essayez d'utiliser:
au lieu de cela, qui utilise ce constructeur. Le deuxième paramètre du constructeur est décrit comme:
OriginalL'auteur Jon Skeet
Cette question a été résolu il y a quelque temps mais j'ai pensé que je devais partager le travail final de la fonction que j'ai compris dans mes projets récemment. Elle renvoie l'exception initiale de l'information et de plein de trace de pile à ce point, suivi par les numéros de ligne et les noms de fichiers menant à l'exception de la trace de la pile.
OriginalL'auteur PeterJ
Essayez d'utiliser le
Constructeur et réglage fNeedFileInfo à vrai
OriginalL'auteur LJ VanKuiken