Zoë Peterson wrote 17 lines
What controls what appears in the "Debugger type and path" dropdown in
the Debugger backend preferences?
I have two macOS systems, one running 10.13 and one 10.14 that have
different items listed. The 10.13 one lists fpdebug, GDB, and LLDB
based ones (6 total) and I've been successfully using "LLDB debugger
(with fpdebug) (Beta)". The 10.14 one only lists the GDB based ones
in the dropdown though.
We have some custom commands in our build scripts, and both FPC and
Laz are slightly out of date from trunk, (FPC more so right now). I'm
building on both systems using identical scripts though, and even
tried wiping FPC, Lazarus, and their configurations off the system and
starting from a fresh FPC 3.04a install. Currently building Lazarus
as 64-bit with the Cocoa widgetset, using Xcode 10.
Where should I look for whatever is going wrong or being excluded?
The pre-defined list drop down? "GNU debugger (gdb)"
Or the editable file-name dropdown "/usr/bin/gdb"?
For 1)
Depends on installed packages.
The lldb package was added to default installed with Lazarus 2.0. If you svn up'ed from an earlier version you need to install it yourself.
The package for "lldb with fpdebug" is LazDebuggerFpLldb
There is a package without the "fp" in the name. It is pure Lldb - no support for any Pascal syntax, very basic, ...
More details (see the strike through bit)
https://forum.lazarus.freepascal.org/index.php/topic,42869.0.html
For 2)
This is a bit complex.
Originally there was only ONE backend, and you could set that one backend to either gdb or lldb or others (and only the properties where stored separately.
Now you can have multiply lldb backend with different config. But they still share ONE history for all of them (all = all backends of all classes: gdb, lldb,... mixed).
That history at some point may have to be split, so each class gets its own (though some may be better of sharing...).
It is stored in your EnvironmentOptions.xml (primary config path which likely is ~/.lazarus)
Each class has a hardcoded list of proposals. IIRC they are used if there are no other pathes avail. But if you already have them due to the overlap with other classes, I am not sure what happens.
Also if you upgraded, and you had diff classes, then all of them only had ONE active path (the rest is path history, in old lazarus you always had to change the path, after you change class).
So the upgrade could only use that one path. (and would use it).
If you had a new install, then each class may have imported their defaults....
----------
Anyway something like that.
Also no-one has yet upgraded the initial setup dialog. So that dialog still proposes gdb, even on Mac.