Вопрос

Я слышал, что использование файлов PDB может помочь диагностировать, где произошел сбой.
Мой Базовые модели насколько я понимаю, вы предоставляете Visual studio исходный файл, файл pdb и информацию о сбое (от доктора Ватсона?)
Может кто-нибудь, пожалуйста, объяснить, как все это работает / о чем идет речь?(Спасибо вам!)

Это было полезно?

Решение

Файлы PDB создаются при создании вашего проекта.Они содержат информацию, относящуюся к встроенным двоичным файлам, которые Visual Studio может интерпретировать.

Когда программа выходит из строя и генерирует отчет о сбое, Visual Studio может взять этот отчет и связать его обратно с исходным кодом через PDB-файл приложения.Файлы PDB должны быть созданы из того же двоичного файла, который сгенерировал отчет о сбое!

Есть некоторые проблемы, с которыми мы столкнулись с течением времени.

  • Компьютер, который отлаживает отчет о сбое, должен иметь исходный код по тому же пути, что и компьютер, создавший двоичный файл.
  • Сборки релизов часто оптимизируются до такой степени, что вы не можете просматривать состояние переменных-членов объекта

Если кто-нибудь знает, как победить первое, я был бы благодарен за некоторый вклад.

Другие советы

Файлы PDB сопоставляют MSIL сборки со строками исходного кода.Это означает, что если вы поместите PDB, который был скомпилирован со сборкой, в тот же каталог, что и сборка, ваши трассировки стека исключений будут иметь имена и строки позиций в исходных файлах.Без файла PDB вы увидите только имя класса и метода для каждого уровня трассировки стека.

Вам следует подумать о настройке сервера символов и индексации PDB-файлов в вашей системе управления исходным кодом.Я совсем недавно прошел через этот процесс для нашего продукта, и он работает очень хорошо.Вам не нужно беспокоиться о том, чтобы сделать файлы PDB доступными вместе с двоичными файлами, или о том, как получить соответствующий исходный код при отладке файлов дампа.

Книга Джона Роббинса: http://www.amazon.com/Debugging-Microsoft-NET-2-0-Applications/dp/0735622027/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1222366012&sr=8-1

Посмотрите здесь несколько примеров кода для генерации мини-дампов (которые не обязательно должны ограничиваться анализом после сбоя - вы можете сгенерировать их в любой момент вашего кода без сбоев): http://www.codeproject.com/KB/debug/postmortemdebug_standalone1.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top