[fpc-devel] How to manually control debug information
Marco van de Voort
marcov at stack.nl
Fri Jun 3 09:56:13 CEST 2005
> I'm writting a custom preprocessor and I would like that the line number
> information maps to the original file. An example (not real, only an
> example):
>
> ...original.pas...
> 21 procedure AddFive(var a, b: Integer);
> 22 begin
> 23 a := ++b;
> 24 end;
>
> After preprocessor:
>
> ...processed.pas...
> 25 procedure AddFive(var a, b: Integer);
> 26 begin
> 27 Inc(b);
> 28 a := b;
> 29 end;
>
> I would like that stepping in the debugger through AddFive showed original.pas
> in lines 21 to 24, not processed.pas in lines 25 to 29.
>
> How could I do that?
If you have a preprocessor, you will also need a binary postprocessor to edit the linenumbers.
IOW the preprocessor should keep track that original.pas:21 becomes processed.pas:25, and your binary
postprocessor should parse all stabs and patch these occurances.
Maybe you need a few dummy units with the same names as the included ones to
create entries for these units.
However a binary postprocessor is a bit complicated.
More information about the fpc-devel
mailing list