是否可以从 DCU 中去除调试信息?

Is it possible to strip Debug Information from DCUs?

我正在使用免费的嵌入式 NexusDB from GetIt,它没有源代码,只有 .DCUs

但是,这些 DCU 中有调试信息,这会极大地妨碍调试,即当我尝试 Step Into (F7) 我的代码时,IDE 经常提示我有关源文件位置的信息,比如说, nxdb.pas,然后,因为我没有这样的文件,进入 CPU 视图,仅使用行号进行反汇编(参见底部的示例)。

同样的问题是 Trace to Next Source Line (Shift+F7)

NexusDB Library文件夹只包含一个版本的.DCUs,没有"Release"版本

所以我想到了这个问题 - 有什么方法可以从 .DCU 中删除调试信息吗?

仅包含行号的 CPU 视图示例:

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

我不知道有任何实用程序可以为您执行此操作。您最好的做法可能是在您的事件处理程序等中主动设置断点。我怀疑 IDE 请求源的最常见原因是发生异常时;然后继续 运行 查看异常。