Можно ли убрать отладочную информацию из DCU?

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

Тем не менее, эти 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 ответ

Решение

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

Другие вопросы по тегам