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

问题描述 投票:0回答:1

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

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

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

NexusDB Library文件夹只包含一个版本的.DCU,没有“Release”版本

所以我提出这个问题 - 有没有办法从.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]
delphi delphi-10.2-tokyo nexusdb debug-information dcu
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.