Могу ли я генерировать отладочные символы из моего приложения Delphi, которое может использовать Process Explorer? - PullRequest
18 голосов
/ 14 января 2012

Я исследую проблему производительности моего приложения, написанного на Delphi 2010. Издает ли Delphi символы, которые Process Explorer может использовать при просмотре текущих запущенных потоков, чтобы я мог видеть имена функций?

Я заблокировал имя моего исполняемого файла, но вы можете видеть, что он дает мне только адрес памяти функции, и я хотел бы иметь имя разрешенной функции, если это возможно (как у меня для ole32.dll).и ntdll.dll, потому что я использую сервер символов MS).

Я знаю, что это можно сделать для приложений VC ++ и WinDbg ... это можно сделать с помощью приложений Delphi и Process Explorer?

enter image description here

1 Ответ

17 голосов
/ 14 января 2012

Да, вам нужно убедиться, что проект скомпилирован с отладочной информацией и что компоновщик генерирует подробный файл карты (параметры ссылки проекта).Не уверен, но вам также может понадобиться проверить «включить удаленные символы отладки» в параметрах компоновщика.

Если у вас есть это, вы можете использовать утилиту для преобразования карты в формат dbg, который использует ProcessExplorer.

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

Используемая нами утилита Map2Dbg: https://github.com/andremussche/map2dbg

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...