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