Ongoing work on LLDB multiprocess debugging support
Links:
Moritz
Systems Project Description URL: https://www.moritz.systems/blog/multiprocess-support-for-lldb/
Progress Report 1 URL:
https://www.moritz.systems/blog/implementing-non-stop-protocol-compatibility-in-lldb/
Progress Report 2 URL:
https://www.moritz.systems/blog/full-multiprocess-support-in-lldb-server/
Contact: Kamil Rytarowski <kamil@moritz.systems>
Contact: Michał Górny <mgorny@moritz.systems>
According to the upstream description, "LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler."
FreeBSD includes LLDB in the base system. The previous sponsored projects improved LLDB, to make it a credible debugger for the base system, although it still has a few limitations compared to the contemporary versions of GNU GDB. This project started in April 2022. It aims to implement full support for debugging multiple processes simultaneously.
At the start of the project, LLDB featured very limited support for multiprocess debugging. Currently, the server is already able to monitor multiple processes using the multiprocess extension to the GDB Remote Serial Protocol. The work on implementing the client-side counterpart for this protocol is ongoing.
Once the project is finished, LLDB will be able to trace an
arbitrary number of forked processes simultaneously (equivalent to
GDB’s detach-on-fork off
).
Sponsor: The FreeBSD Foundation
Last modified on: October 18, 2022 by Lorenzo Salvadore