[fpc-devel] properties with getter evaluation in gdb
Jonas Maebe
jonas.maebe at elis.ugent.be
Fri Mar 12 15:49:37 CET 2010
On 12 Mar 2010, at 02:44, Paul Ishenin wrote:
> I know at the moment we have the next problems which cause subj
> don't work:
>
> 1. gdb does not supports borland fastcall calling convention (delphi
> calls it register though)
> 2. fpc does not write debug info for properties with getters because
> of point 1.
There's more:
a) DWARF debug information does not know the concept of properties
(and I have not seen a proposal for adding it yet on the DWARF mailing
list or website), only of fields and of methods (so you'd have to add
these properties as methods -- in which case probably only getters can
be supported)
b) there is no support yet in the GDB Pascal parser to call methods
(at least not via instance.methodname; there may be other ways to call
them, but I don't know how)
I only have a hack for b) currently, because it makes accessing fields
case-sensitive in GDB's Pascal mode (which means you have to type all
fields names in uppercase).
> Let's see what properties getters we can have:
> 1. Majority of them are
> function GetSomething: SomeType;
> 2. Others are:
> function GetSomethingWithIndex(const Index1, ..., IndexN:
> SomeType): SomeType;
>
> Looking at first type of functions I see that there are no arguments
> passed to the function. So maybe these functions could be marked
> with some other calling convention which is similar to fastcall
> regards result return? Maybe 'pascal' or 'stdcall' could be used for
> such functions?
The default calling convention could be used. This would only work for
routines with "simple" return types though (types that are not
returned via a hidden first parameter).
Jonas
More information about the fpc-devel
mailing list