在 VSCode 中调试 Rust,库上没有调试符号,但在示例上调试符号

Gue*_*OCs 6 debugging rust lldb

我正在尝试在 VSCode 上使用 LLDB 进行调试。我在我的库中添加了一个断点,它在断点处停止,但我得到一个带有未命名符号的调用堆栈,我看不到任何变量:

在此处输入图片说明

这是库中的一个示例,我使用cargo build --example my_example_name. 我研究并在发布模式下构建,--release应该添加。所以我想我是在调试模式下构建的。

我猜这个库是在发布模式下以某种方式构建的。我该如何检查?

如果我将断点放在示例文件本身中,那么在断点发生时会出现该符号。当我将断点放在示例使用的库中时,断点发生时不会出现任何符号。

是否有可能cargo build --example my_example在调试模式下构建示例而在发布模式下构建库?

Sol*_*cko 6

根据https://doc.rust-lang.org/cargo/commands/cargo-build.html,“依赖项使用dev/release配置文件。”

要覆盖它,您可以尝试RUSTFLAGS=-g cargo build ...(-g相当于-C debuginfo=2)。