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

Debugging Rust in VSCode, no debug symbols on library, but debug symbols on example

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

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

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

如果我把断点放在示例文件本身,那么当断点发生时,符号就会出现。 当我把断点放在示例使用的库中时,断点发生时没有符号出现。

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

根据https://doc.rust-lang.org/cargo/commands/cargo-build.html,"Dependencies use the dev/release profiles."

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