I am using free embedded NexusDB from GetIt which comes without sources, only .DCUs
However, these DCUs has debug info in them, which hamper debugging a lot, i.e. when I try to Step Into (F7)
my code, IDE often prompts me about source file location of, say, nxdb.pas
, and then, as I have no such file, come into CPU view with disassembly with line numbers only (see example at the bottom).
Same problem is with Trace to Next Source Line (Shift+F7)
NexusDB Library folder contains only one version of .DCUs, there is no "Release" version
So I come to this question - is there any way to strip debug info from .DCUs?
Example of CPU view with linenumbers only:
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]
I'm not aware of any utility that will do this for you. Your best course of action is likely to actively set breakpoints in your event handlers etc. I suspect that the most common cause of the IDE's request for the source is when exceptions occur; then just continue running to see the exception.