Re: [fpc-devel] How to manually control debug information
>>>Since preprocessed code isn't read by human, why don't change it into >>> >>>procedure AddFive(var a, b: Integer); >>>begin >>> Inc(b); a := b; >>>end; >>> >>>The compiler don't care and you get correct line numbers. >> >> >> Clever! But won't the compiler care if a line gets too long? > > No. The compiler itself doesn't care about line length. Only you'll get wrong values for the column if the line is longer than 65535 chars. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] How to manually control debug information
>> gcc docs mainly (stabs) > > Thank you, also Florian and Peter, of course. It seems that I have more > than > enough options :-) For an simple stabs parser see rtl/inc/lineinfo.pp ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] How to manually control debug information
El Viernes, 3 de Junio de 2005 11:44, Marco van de Voort escribió: > > El Viernes, 3 de Junio de 2005 09:56, Marco van de Voort escribi?: > > > If you have a preprocessor, you will also need a binary postprocessor > > > to edit the linenumbers. > > > > In the executable? Isn't there any previous step to "hook into"? > > Yes. The generated assembler. > > > Anyway, where could I find information about the structures that should > > be edited? > > gcc docs mainly (stabs) Thank you, also Florian and Peter, of course. It seems that I have more than enough options :-) -- saludos, Nico Aragón ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] How to manually control debug information
Nico Aragón wrote: > El Viernes, 3 de Junio de 2005 09:12, Florian Klaempfl escribió: > >>Since preprocessed code isn't read by human, why don't change it into >> >>procedure AddFive(var a, b: Integer); >>begin >> Inc(b); a := b; >>end; >> >>The compiler don't care and you get correct line numbers. > > > Clever! But won't the compiler care if a line gets too long? No. The compiler itself doesn't care about line length. > > I should still change the file name. > ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] How to manually control debug information
> El Viernes, 3 de Junio de 2005 09:56, Marco van de Voort escribi?: > > If you have a preprocessor, you will also need a binary postprocessor to > > edit the linenumbers. > > In the executable? Isn't there any previous step to "hook into"? Yes. The generated assembler. > Anyway, where could I find information about the structures that should be > edited? gcc docs mainly (stabs) ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] How to manually control debug information
El Viernes, 3 de Junio de 2005 09:56, Marco van de Voort escribió: > If you have a preprocessor, you will also need a binary postprocessor to > edit the linenumbers. In the executable? Isn't there any previous step to "hook into"? Anyway, where could I find information about the structures that should be edited? -- saludos, Nico Aragón ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] How to manually control debug information
El Viernes, 3 de Junio de 2005 09:12, Florian Klaempfl escribió: > Since preprocessed code isn't read by human, why don't change it into > > procedure AddFive(var a, b: Integer); > begin > Inc(b); a := b; > end; > > The compiler don't care and you get correct line numbers. Clever! But won't the compiler care if a line gets too long? I should still change the file name. -- saludos, Nico Aragón ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] How to manually control debug information
> 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
Re: [fpc-devel] How to manually control debug information
Peter Vreman wrote: > At 19:36 2-6-2005, you wrote: > >> Hello, >> >> 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? > > > That is not possible with fpc Since preprocessed code isn't read by human, why don't change it into procedure AddFive(var a, b: Integer); begin Inc(b); a := b; end; The compiler don't care and you get correct line numbers. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] How to manually control debug information
At 19:36 2-6-2005, you wrote: Hello, 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? That is not possible with fpc Peter ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
[fpc-devel] How to manually control debug information
Hello, 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? -- saludos, Nico Aragón ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel