> 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. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel