Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2019-08

Debugger backends configuration

2 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Zoë Peterson

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?

Thanks!

Zoë Peterson Scooter Software

Reply by email

Martin Frb
to Zoë Peterson
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.

Reply by email