I've seen a few features been added by MR recently.
So I wanted to take the opportunity and push some of my MR into view again.
1)
Most awaited by many users: The ability to debug properties. https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/1454
I have to the day not even received feedback on it. So where to we stand with that?
2)
Methods on interfaces
Interfaces (com/corba) are stored as structures, but the compile omits the methods.
Maybe there is or was a reason? I can only think that back in the day gdb as only debugger wasn't able to call them, so they weren't considered? But FpDebug can call them.
https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/687
This isn't about if calling methods from a debugger is advisable. I do not advise , its a valid technique....
3)
Strings
https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/683
Currently debuggers can't differentiate between string/pchar (well FpDebug can in some common cases, by going deep into implementation detail)
Dwarf provides means to do better. => we should.
If -gw4 isn't enough to guard against gdb disliking this, then a separate flag can be added, to toggle between
* dwarf for gdb
* dwarf for fpdebug
* dwarf for ...
Btw, the source of gdb suggests that this is not added because "pascal does not emit it".
=> for other language gdb does have (some) implementation of it. So waiting for gdb is futil, if gdb waits for us.
(And sorry, no, I don't know gdb well enough to change that / I located some comments in it)
4) other pending dwarf stuff
linker names to help with debug info on windows
https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/1448 Since in various cases addresses are omitted, this can be used by a debugger to find them.
(fpdebug already does that using the know current mangling, but that is not future save, if the mangling changes in fpc)
and optional
https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/1464 make following new Dwarf versions easier (by reducing the affected scope)
