0

我正在使用来自 GetIt 的免费嵌入式 NexusDB,它没有来源,只有 .DCU

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

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

NexusDB 库文件夹仅包含一个版本的 .DCU,没有“发布”版本

所以我提出了这个问题 - 有没有办法从 .DCU 中去除调试信息?

仅具有行号的 CPU 视图示例:

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]
4

1 回答 1

1

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

于 2018-09-01T23:34:07.783 回答