I should also mention that the dialog on starting a debug session speaks about the FPDebug debugger, see attached. But I get this also when I use the "IDE default" debugger.
Is the "IDE default" debugger the same as the FPDebug debugger?
Yes. Well the default depends on your OS. On Linux and Windows that is FpDebug (Since Laz 2.2RC - and already for some time in git)
More to the point: The default debugger is set under Tools > Options > Debugger Backend.
Whatever is selected there is the default.
In the project, you can then set a diff debugger for each project. E.g. if you have a project that you run on a remote machine, and you need a remote debugger, then you can (if you install it) set the gdb-remote debugger.
Also, this default is for new installations.
If you upgrade an existing config, it will keep your settings (which would be gdb, unless you never made any change, that saved any debugger specific config).
Thanks for explanation. I only did not expect such a change between two RC releases.
This was already the case for RC1.
If indeed it did not happen to you, then maybe it used an old config of yours, that pointed to gdb?
I have an issue:
- In the debug settings I set the debug info type to Automatic, see screenshot attached.
- When I now run in debug mode I get a dialog in which I must specify the debug info type. When I cancel this dialog, the debugging is not started.
But isn't the Automatic setting thought to select automatically an appropriate debug info?
This issue appears for both possible debuggers (FPDebug and IDE default)
Ideally yes... But depends on who defines "appropriate"....
Automatic, just means that the IDE leaves the decision to FPC. So it means "use fpc default".
The fpc default depends on the target (OS, bitness, ...).
The IDE does not have a list of all the fpc-defaults. So it can't be sure if "automatic" resulted in use-able debug info (for gdb that did not matter, as all the types of debug info can be read by gdb / though some lead to more errors in gdb....).
Since FpDebug only read DWARF, but not stabs, it now needs one of the dwarf settings explicitly selected.
The fact that this leads to extra user-interaction (instead of having some default) is not great. But keeping gdb instead of FpDebug is not better.
Hopefully that can be improved..... But not sure when...
Besides this, where can I find kind on a comparison table
- between the "IDE default debugger" and "FPDebug"
- the different debug info type settings (Dwarf1, 2, 3 and Stabs)
The "default debugger" is not a specific type. See above.
But info on the different debuggers:
https://wiki.lazarus.freepascal.org/Debugger_StatusThat does not list every single issue, every debugger has....
There is some background here (some is really related to GDB, other relates to all debuggers or the way FPC encodes debug info, or the debug info itself....)
https://wiki.lazarus.freepascal.org/GDB_Debugger_TipsGDB has lots of issues with various Pascal data types and structures. Depending on the gdb version this leads from data not shown to crashes.
And we can't fix GDB.
FpDebug is not bug free either. But we can fix it, and it does deal with a lot more of the data types.
Stabs and Dwarf are how the compiler tells the debugger how the machine code relates to the Pascal source, and where/what/which variables, types, .... are to be found.
I don't have a list of all the diffs.
Also that would include what FPC actually uses of each feature set. And what the debugger can read of it.