[fpc-devel] Why debugger does not "step in"?

Martin Frb lazarus at mfriebe.de
Sat Mar 24 19:30:28 CET 2018

On 24/03/18 17:58, Gennady Agranov wrote:
> >>> It isn't a method of an "interface"? interfaces indeed have this 
> issue.
> It is the case - thanks!
> Is it "nothing can be done about it" case?
> Is there an already submitted bug? 

Not sure if there is a bug report. I am not even sure if this is:
- an issue in gdb
- an issue with the debug info generated by fpc

 From very far memory.... fpc generates some kind of "jump table" 
(actually it may be a bit more than a jump table) for each class that 
implements an interface.
Calling a method of an interface first calls the code in that table, and 
then goes to the actual method.
gdb somehow thinks that the code in the table can not be stepped, and 
skips the entire call.

Maybe fpc could add debug info, not sure what is available in each of 
the stabs/dwarf2/3 standards that could be used to tell gdb.

Btw, have you tried dwarf 3? I never tested, so maybe.... / But be 
aware, dwarf3 has other instabilities (gdb crashes)

More information about the fpc-devel mailing list