[fpc-pascal] Debug information

Martin lazarus at mfriebe.de
Tue Sep 11 14:16:35 CEST 2012


On 11/09/2012 10:28, Rainer Stratmann wrote:
> I found out that there is no line information shown (-gl) if an error occurs
> (more or less shortly) after the program loads a dynamic library.
>
> This same behaviour happens with fpc version 2.4.2-0 and 2.6.0.
>
> If no library is loaded line information is shown.
> The error adresses are the same in both cases.
>

This is about debug info written by "DumpStack" or similar (written by 
the exe itself, to the console)?

Or debug info shown by gdb using "bt"?
If the first, does the latter work?

As from your other replies, the exception occurs in your pascal code. 
But is this code in a callback from the DLL? (This would mean that 
stackframes of the DLL exist, and they have no line info)
Or could for any other reason (including compiled with optimization) 
there be a stackframe (just one) that has no line info?

IIRC the line-info on stacktraces is only displayed until the very first 
time a line without info is discovered.
That is:
1) If within the current stackdump a line without info is discovered, 
then no further line will be attempted to be resolved (even if info 
could be available)
2) If in a previous dump, such a line was discovered, then in any 
further dump (even though unrelated) no line info is printed.

In Lazarus the leak view, can attempt to resolve such traces. It 
requires the exact exe with debug info.




More information about the fpc-pascal mailing list