Question

Pourquoi une émission de trace de la pile "ligne 0", mais seulement pour une trame dans la trace de la pile ?

par exemple.

...
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at My.LibraryA.Some.Method():line 16
at My.LibraryB.Some.OtherMethod():line 0
at My.LibraryB.Some.Method():line 22
at My.LibraryA.Some.Method():line 10

Contexte:

I ont une application qui a échoué avec une exception, et se connecte une trace de pile dans son fichier journal. Lorsque le applciation a été construit, toutes les assemblées ont été compilés avec des informations de débogage complet (Propriétés du projet -> Construire -> Avancé -> Infos Debug -> Full), et ainsi PDB ont été générés. Pour me aider à diagnostiquer où l'erreur vient, je laissai tomber les fichiers PDB dans le répertoire bin de l'application, et reproduit l'exception. Tous les numéros de ligne pour chaque oeil de cadre de pile correcte, à l'exception de celle qui affiche « ligne 0 » comme source.

Était-ce utile?

La solution

Ce fut en effet sur le l'inline d'entre eux comme méthode Eric suggéré.

J'ai réussi à reproduire l'erreur d'origine locale, mais seulement lors de la compilation dans une version release. Comme je l'ai eu le PDB, je pouvais parcourir le code et trouver le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top