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

Могу ли я испускать символы отладки из моего приложения Delphi, которое может использовать Process Explorer?

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

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

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

enter image description here

4b9b3361

Ответ 1

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

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

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

Утилиту Map2Dbg, которую мы используем: https://github.com/andremussche/map2dbg