[fpc-devel] Dwarf3 and the encoding of classes
Joost van der Sluis
joost at cnoc.nl
Sun Jan 9 21:16:02 CET 2011
On Sun, 2011-01-09 at 18:21 +0100, Jonas Maebe wrote:
> On 09 Jan 2011, at 17:56, Joost van der Sluis wrote:
>
> > I've done some more tests with -gw2. 'p classinstance' gives you the
> > address of the class-instance and not the values within the class.
> > That's a big issue to me. To show the class, you have to use 'p
> > classinstance^', which is nonsense in a Pascal-way of view.
> >
> > And if the classinstance is nil it shows '0x0' and not 'nil'. 'p
> > @classinstance' will give you rubbish.
>
> It presumably gives you the address of the class instance pointer. It's the same in a plain Pascal program: @classinstance gives you the address in memory where the class instance pointer is located, and classinstance is the pointer (not the fields).
You are right. I thought it was some internal (inferior) gdb-address.
This makes this argument moot.
To sum up, as far as I can see now, the current gw2 implementation has
only two disadvantages: it doesn't show nil, and to show the complete
class you have to add '^'.
Both can be fixed in gdb, and current Lazarus already has work-arounds
for this or they can be added.
Martin, do you still have any problems with classes and the -gw2 output?
Any other new arguments/problems?
Joost.
More information about the fpc-devel
mailing list