Как анализировать файл дампа из DLL файла Delphi?
Я инженер эскалации на продукте, который использует С# и код Delphi 2006.
В большинстве случаев проблемы с С# отлаживаются с WinDbg и проблемами Delphi 2006 с EurekaLog.
Но когда проблема связана с использованием памяти Delphi, EurekaLog не дает достаточно информации для исправления проблемы, и единственное, что у меня есть для отладки, это полный файл дампа памяти.
Я не могу (или не знаю, как) загружать файл символов в WinDbg, потому что это файл .map
, а не файл .pdb
.
Итак, мои вопросы:
Ответы
Ответ 1
Чтобы преобразовать символы карты в Dbg:
- Получить Map2Dbg.exe из http://code.google.com/p/map2dbg/
- Поместите Map2dbg в ту же папку, что и YourApp.exe, и файл карты
- Выполнить: map2dbg.exe YourApp.exe
Вы должны получить файл YourApp.dbg для использования с инструментами Microsoft....
Ответ 2
Помимо tds2pdb (см. мой комментарий к map2dbg), вы также можете использовать мой просмотрщик minidump в программах Delphi:
https://github.com/andremussche/asmprofiler/blob/master/Source/MiniDumpReader/ViewMinidump.exe.
Тогда вам не нужно конвертировать в .dbg или .pdb, но он напрямую читает различные файлы отладки Delphi (.map,.tds/.td32 и j.dbg).