调试 Rust 库时,VSCode 调试显示所有断点“Locations: 0”

Kyl*_*yle 7 debugging rust lldb visual-studio-code

我正在尝试在 Visual Studio Code 中调试 Rust 库,但遇到了问题。当我运行调试时,所有断点都会变成灰色,当我将鼠标悬停在它们上方时,它们会显示Locations: 0此处的问题图片)。然后执行测试,不会遇到任何断点。当我在终端中运行 lldb 时,它调试得很好,并且我无法使用其他库重现该问题,这似乎是该项目特有的。我尝试仅将所需的文件复制到新项目中,但问题再次出现,所以我认为这一定与我的配置有关。

\n

我正在使用 vscode 自动创建的 launch.json 文件:

\n
{\n  "type": "lldb",\n  "request": "launch",\n  "name": "Debug unit tests in library \'my_project\'",\n  "cargo": {\n    "args": [\n      "test",\n      "--no-run",\n      "--lib",\n      "--package=my_project"\n    ],\n    "filter": {\n      "name": "my_project",\n      "kind": "lib"\n    }\n  },\n  "args": [],\n  "cwd": "${workspaceFolder}"\n} \n
Run Code Online (Sandbox Code Playgroud)\n

我对大多数库文件和包含的二进制文件进行了测试,它们都有相同的问题。这是项目结构的简化版本:

\n
main project directory\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 benches\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 my_benchmark.rs\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.lock\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.toml\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bin\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.rs\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 lib.rs\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 requests\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 [several library files]\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 requests.rs\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 structures\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 [several library files]\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 structures.rs\n
Run Code Online (Sandbox Code Playgroud)\n

我正在使用的软件版本是:

\n
    \n
  • Visual Studio 代码 v1.55.2
  • \n
  • 代码LLDB v1.6.2
  • \n
  • rustc v1.51.0
  • \n
  • 乌班图 v20.10
  • \n
\n

我找了很长一段时间,但在其他问题中找不到任何其他提到这个问题的地方。感谢您的帮助,如果我可以提供更多信息,请告诉我!

\n

Kyl*_*yle 3

好吧,我想通了。该问题似乎是 CodeLLDB 版本 1.6.2 中的一个错误。我恢复到 1.6.1,一切正常。保留这一点以防其他人遇到同样的问题。