Можно ли удалить информацию отладки из DCU? - PullRequest
0 голосов
/ 31 августа 2018

Я использую бесплатную встроенную NexusDB от GetIt , которая поставляется без источников, только .DCUs

Однако, эти DCU содержат отладочную информацию, что сильно затрудняет отладку, т.е. когда я пытаюсь Step Into (F7) мой код, IDE часто запрашивает у меня местоположение исходного файла, скажем, nxdb.pas, а затем, как У меня нет такого файла, зайдите в CPU с разборкой только с номерами строк (см. Пример внизу).

Та же проблема с Trace to Next Source Line (Shift+F7)

Папка библиотеки NexusDB содержит только одну версию .DCU, нет версии "Release"

Итак, я подхожу к этому вопросу - есть ли способ убрать отладочную информацию из .DCUs?

Пример представления процессора только с номерами белья:

TnxDataset.Notification:
007930EC 55               push ebp
...
007930F7 8945FC           mov [ebp-$04],eax
<unknown file>.10682: 
007930FA 8BCB             mov ecx,ebx
...
00793101 E8F6F9D3FF       call TComponent.Notification
<unknown file>.10683: 
00793106 8B45FC           mov eax,[ebp-$04]

1 Ответ

0 голосов
/ 02 сентября 2018

Я не знаю ни одной утилиты, которая сделает это за вас. Ваш лучший способ действий, вероятно, состоит в том, чтобы активно устанавливать точки останова в ваших обработчиках событий и т. Д. Я подозреваю, что наиболее распространенная причина запроса IDE об источнике - это когда возникают исключения; затем просто продолжайте бежать, чтобы увидеть исключение.

...