Как проанализировать файл дампа из DLL-файла Delphi?

StackOverflow https://stackoverflow.com/questions/1237988

  •  11-09-2019
  •  | 
  •  

Вопрос

Я инженер по эскалации в продукте, который использует оба C# и код Delphi 2006.

В большинстве случаев проблемы с C # отлаживаются с помощью ВинДбг и проблемы Delphi 2006 с ЭврекаЛог.

Но когда проблема связана с использованием памяти Delphi, EurekaLog не предоставляет достаточно информации для устранения проблемы, и единственное, что у меня есть для отладки, это файл полного дампа памяти.

Я не могу (или я не знаю, как это сделать) загрузить файл символов в WinDbg, потому что это .map файл, а не .pdb файл.

Итак, мои вопросы таковы:

  • Как мне загрузить символы из файла .map в WinDbg?(Преобразование .map Для .pdb или другое.)

  • Существует ли инструмент для анализа файла дампа для приложения Delphi?

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

Решение

Для преобразования символов Карты в Dbg:
- Получить Map2Dbg.exe от http://code.google.com/p/map2dbg/
- Поместите Map2dbg в ту же папку, что и YourApp.exe и его файл карты
- Выполнить:map2dbg.exe YourApp.exe

Вы должны получить файл YourApp.dbg для использования с инструментами Microsoft....

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

Помимо tds2pdb (см. Мой комментарий к map2dbg), вы также можете использовать мой просмотрщик minidump в программах Delphi:https://github.com/andremussche/asmprofiler/blob/master/Source/MiniDumpReader/ViewMinidump.exe.

Тогда вам не нужно конвертировать в .dbg или .pdb, но он напрямую считывает различные файлы отладки Delphi (.map, .tds /.td32 и j.dbg).

Последняя версия cv2pdb инструмент может конвертировать DBGS, созданные с помощью map2dbg, в PDB-файлы.

Итак, если вы ранее создавали свои DBGS таким образом:map2dbg карта 2dbg App.exe

Просто добавьте эту команду позже:cv2pdb -ы.App.exe

-с.параметр необходим для отделения имен методов от имен классов точкой.

cv2pdb, созданный для Win32 на основе текущих исходных текстов, можно загрузить с здесь.

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