=== LLDB Debugger Improvements Links: + link:https://www.moritz.systems/blog/freebsd-kgdb-support-in-lldb/[Moritz Systems Project Description] URL: link:https://www.moritz.systems/blog/freebsd-kgdb-support-in-lldb/[https://www.moritz.systems/blog/freebsd-kgdb-support-in-lldb/] + link:https://www.moritz.systems/blog/lldb-serial-port-communication-support/[Progress Report 3] URL: link:https://www.moritz.systems/blog/lldb-serial-port-communication-support/[https://www.moritz.systems/blog/lldb-serial-port-communication-support/] + link:https://www.moritz.systems/blog/lldb-freebsd-kernel-core-dump-support/[Progress Report 4] URL: link:https://www.moritz.systems/blog/lldb-freebsd-kernel-core-dump-support/[https://www.moritz.systems/blog/lldb-freebsd-kernel-core-dump-support/] + link:https://github.com/moritz-systems/llvm-project[LLVM Git Repository] URL: link:https://github.com/moritz-systems/llvm-project[https://github.com/moritz-systems/llvm-project] + link:https://github.com/moritz-systems/libfbsdvmcore[libfbsdvmcore Git Repository] URL: link:https://github.com/moritz-systems/libfbsdvmcore[https://github.com/moritz-systems/libfbsdvmcore] Contact: Kamil Rytarowski + Contact: Michał Górny 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. At present, it has some limitations compared to the GNU GDB debugger, and does not yet provide a complete replacement. This project spans from July 2021 to January 2022 and aims to make LLDB suitable for debugging FreeBSD kernels. The earlier part of the project was focused on improving compatibility between LLDB and other servers implementing the GDB Remote Protocol. This was followed by implementing a fully-featured serial port support and then support for FreeBSD kernel core dumps (vmcores). The LLDB client gained much improved support for connecting to the remote server over a serial port, and the LLDB server gained support for accepting communication over a serial port. This opened the possibility of using LLDB to debug embedded devices that use the RS232 interface. It can also aid debugging kernels on regular PCs as it does not rely on the network stack. Support for FreeBSD vmcores has also been added to LLDB. This makes it possible to inspect the crashed kernel state without having to resort to KGDB or manually convert the vmcore into the standard ELF format supported by LLDB. The introduced changes are expected to be shipped with LLDB 14.0. Sponsor: The FreeBSD Foundation