Отладка аварийного дампа: двоичные файлы и файлы символов из одного и того же события сборки не совпадают в соответствии с VS2010 - PullRequest
3 голосов
/ 20 января 2012

Я получил файл аварийного дампа от клиента и пытаюсь отладить файл дампа, используя VS2010.Я получил исходный код, который мы использовали для сборки, а также сгенерированные файлы символов, и я предоставил VS путь к каталогу, который их содержит;кажется, все на месте.Однако, когда я пытаюсь отладить, VS сообщает, что «отсутствует соответствующий двоичный файл» для .exe или любых .dll, содержащихся в этом каталоге.Я использовал chkmatch для сравнения нескольких двоичных файлов и файлов символов, и он сообщает, что они совпадают, отметка времени, подпись и все.Я искал в Интернете, и никто, похоже, не испытывал столько проблем с этим, как я сталкиваюсь, и все решения, которые я нашел, это то, что я уже сделал.

Надеюсь, яс видом на что-то простое.

Что мне не хватает?Как я могу убедиться, что VS сопоставляет двоичные файлы с файлами символов?

Ответы [ 2 ]

1 голос
/ 27 января 2012

Вы можете использовать WinDbg

  1. Загрузить инструмент (http://msdn.microsoft.com/en-us/windows/hardware/gg463016, вы можете использовать версию 6.11.1.404, чтобы избежать загрузки всего SDK) и установить его.

  2. запустите WinDbg и загрузите файл дампа (Файл> Открыть аварийный дамп).

  3. укажите расположение символов (Файл> Путь к файлу символа).
  4. активировать трассировки при загрузке символов (! Sym noisy в командной строке)
  5. выгрузить все символы (.reload / u в командной строке).
  6. загрузить символы для модуля, в котором возникли проблемыс помощью (ld в командной строке).
  7. движок сообщит вам, куда он загружает символы и почему он не совпадает.
  8. вы также можете получить подробную информацию о модуле, содержащемся вфайл дампа (lm vm), включая метку времени модуля.

Надеюсь, это поможет.

0 голосов
/ 28 февраля 2017

Еще одна вещь, которую нужно проверить: у меня были проблемы, если бинарные файлы и символы для других версий сборки того же продукта были в пути к символам.пути и выбор правильных файлов - мне пришлось добавить пути к символам, относящиеся к аварийному дампу, который я отлаживаю, и переместить их «вверх» в списке путей к символам, чтобы они были найдены первыми и использованы.

...