Am 15.09.2022 um 14:32 schrieb Martin Frb via fpc-devel:
https://gitlab.com/freepascal.org/fpc/source/-/issues/39904
On top of adding the functions in the interface to the dwarf info, it
would be great if the compiler could also add some sort of link to the
underlaying TObject.
So the debugger could (if available) show the user the object/instance
that implements the interface.
I am not sure how that would best be done (i.e. maybe add some
internal field, maybe there is some dwarf tag that can be used, maybe
a dwarf extension....)
From what I understand, this would require the offset between the
interface table and the class (i.e. the value that is subtracted from
"self" in the interface's method).
If for a debug build the compiler could write that value in front of
the interface, then it could point the debugger to it....
You are aware that an interface can be implemented by multiple different
class types and that the offsets for each class that implements a
specific interface will be different depending on the amount of
interfaces a class implements? So if you have a given interface neither
you nor the compiler will know what is on the other side.
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel