FreeBSD’s base system includes LLDB, the LLVM family debugger.  Compared to the GNU GDB debugger, FreeBSD’s LLDB currently has some limitations and is not yet a complete replacement.  This multi-stage project aims to provide FreeBSD with a modern debugger and bring LLDB closer to being a fully featured GDB replacement.


Part I of the LLDB Improvements Project described the replacement of the obsolete LLDB plugin model used on FreeBSD x86_64 with a modern approach, which executes the target process under a separate lldb-server process.  The legacy monolithic target support is still in use on non-x86 targets.  Part II of this project involves switching some non-x86 CPU architectures to the new remote process plugin framework and removing the old native-debugging process plugin altogether.  Once porting is complete, focus will switch to reiterating all LLDB tests on ARM64 and addressing any bugs as time permits and marking non-trivial issues as known failures.


Other part II milestones are:

  1. support for follow-fork and follow-vfork operations for debugging child processes on par with GNU GDB.
  2. Add follow-spawn for enhanced process tracing support (if time permits).
  3. Savecore functionality allowing users to create on-demand core dump files.
  4. Document the improved LLDB support in the FreeBSD manual.