#lldb #bindings #llvm #macos #api #apache

sys lldb-sys

Raw bindings to the LLDB C++ API. LLDB is the debugger that is part of the LLVM project and is the default system debugger on Mac OS X. Building and using this is currently slightly tricky, so be sure to see the README.md in the repository.

31 releases

0.0.31 Dec 6, 2024
0.0.30 Aug 11, 2023
0.0.29 Sep 15, 2022
0.0.27 Oct 4, 2021
0.0.10 Jul 19, 2016

#479 in Debugging

Download history 29/week @ 2024-09-16 126/week @ 2024-09-23 14/week @ 2024-09-30 9/week @ 2024-10-07 17/week @ 2024-10-14 2/week @ 2024-10-28 1/week @ 2024-11-11 17/week @ 2024-11-25 150/week @ 2024-12-02 156/week @ 2024-12-09

323 downloads per month
Used in lldb

MIT/Apache

660KB
14K SLoC

C++ 9K SLoC // 0.1% comments Rust 5K SLoC // 0.0% comments Shell 3 SLoC

lldb-sys

docs.rs

Dual licensed under the MIT and Apache 2 licenses. The C bindings for LLDB are licensed under the same license as LLVM.

Installation

This crate works with Cargo and is on crates.io. Add it to your Cargo.toml like so:

[dependencies]
lldb-sys = "0.0.31"

Linux

Install the lldb and liblldb-dev packages for your platform so that you have both LLDB itself installed as well as the headers and other support files required.

macOS:

Install llvm via homebrew:

brew install llvm

Then, tell this crate how to find llvm-config:

export LLVM_CONFIG="`brew --prefix llvm`/bin/llvm-config"

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Binding Re-generation

If something happens where the Rust bindings need to be re-generated, they were generated from this set of files with bindgen. We have a script to automate some of the processing that is needed:

bin/generate_bindings.sh

After running that, you will want to selectively merge the changes with what was previously there as the output of this process is hand-edited to add usage of libc as well as doc comments in critical places.

Dependencies

~74–445KB
~11K SLoC