Анализ дампов сбоев в Visual Studio

У меня есть файл *.dmp (dump) моего разбитого приложения. Теперь я хочу проанализировать разбитый процесс на другой машине. То есть приложение разбилось на одной машине, и у меня есть Visual Studio на другой машине.

Теперь, что мне нужно, чтобы увидеть трассировку стека и все символы моего приложения? Достаточно ли файла *.exe и файла *.dmp?

Или мне нужен также исходный код и файл PDB?

Если да, то должен ли исходный код и исполняемый файл быть помещены в ту же структуру каталогов, что и на машине, процесс был запущен?

Как подключить файл PDB к файлу дампа сбой в Visual Studio?

Ответ 1

Нет, вам обязательно нужны файлы .pdb, чтобы получить приличные трассировки стека. Безусловно, самый простой способ - сделать это с машины, на которой вы создали программу, исходный код и файлы .pdb будут в нужном месте.

Лучше всего скопировать те же самые исполняемые файлы в ту же самую папку, в которой она была установлена ​​на машине с ошибкой. Скопируйте файлы .pdb в тот же каталог, где следующий отладчик выглядит следующим, если он не может найти их в исходном месте сборки. Как только отладчик приземляется на оператор с исходным кодом, а .pdb не удаляется, он предложит указать расположение файла исходного кода.

Следующее лучшее - Инструменты + Опции, Отладка, Символы и добавьте путь к каталогу, который содержит файлы .pdb.

В этом же диалоговом окне также включите сервер Symbol Server (http://msdl.microsoft.com/download/symbols). Это дает вам символы для DLL Windows и позволяет точно отслеживать ваш собственный код, если произошел сбой в Windows DLL.