The IDE's "Local Variables" debugging window shows locally-declared variables in upper-case, plus a symbol representing what I presume is the starting value in mixed case i.e.
var
tempExts: TExtractions= nil;
results in TEMPEXTS and defaulttempExts both with value zero. Hence I presume we're talking about DWARF 2.
Yes, also shown by the readelf.
There are some symbols that FPC may add (in mixed case, like the current function name as alias for "RESULT". Or some symbols with "$" in it (like "$parentfp". (the exact name varies by fpc version).
With fpdebug, I suggest to switch to Dwarf 3.
The "Add" button at the top of the window has allowed me to add FpDebug, and also automatically selected it. I've not yet been able to put any time into exercising it: I'll report back when I can.
Losing gdb presumably means that it's no longer to use gdbserver.
Unfortunately. But if it is in the list of configured debuggers, you can select it in project settings. You then just have to be careful of certain values. (You can test the -godwarfcpp / but I don't know any details on it / don't use it with fpdebug)
For AVR, there is a fpdebug package that afaik uses gdbserver. (package comes with IDE, but must be installed).
Not gdb server, but if you have issuse, there is a mix of gdb + fpdebug (LazDebuggerFpGdbmi) => runs in gdb, but evals watches via fpdebug (needs local exe for symbols).
This is useful if you debug a lot in the kernel / 3rd party libs => gdb is still better at unrolling the stack in those cases.
In theory that could be extended to gdbserver. But no plans for that at the moment.
Also: It's considerable slower.