Отслеживание стека с неправильным номером строки

Почему отслеживание стека показало бы "строку 0", но только для одного кадра в отслеживании стека?

например.

...
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

Фон:

У меня есть приложение, которое перестало работать за исключением и регистрирует отслеживание стека к его файлу журнала. Когда приложение было создано, все блоки были скомпилированы с полной информацией об отладке (Свойства проекта-> Сборка-> Усовершенствованный-> Информация об отладке-> Полный), и таким образом, файлы PDB были сгенерированы. Чтобы помочь мне диагностировать, куда ошибка прибывает из, я бросил файлы PDB в приложение bin каталог, и воспроизведенный исключение. Все номера строки для каждого стекового фрейма выглядят корректными, за исключением того, который отображает "строку 0" как ее источник.

6
задан adrianbanks 13 May 2010 в 15:08
поделиться

1 ответ

Это действительно было связано с инлайнингом их метода, как предложил Эрик.

Мне удалось воспроизвести оригинальную ошибку локально, но только при компиляции в релизной сборке. Поскольку у меня были PDB, я мог просмотреть код и найти проблему.

3
ответ дан 17 December 2019 в 18:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: