Is it possible to strip Debug Information from DCUs?

203 Views Asked by At

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

There are 1 best solutions below

0
NexusDB Expert On BEST ANSWER

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.