🌟 2019-03-24 ❤️ 原文
我是 Visual Studio Code 编辑器的铁杆。不幸的是,它的 Rust 调试不 太能 开箱即用。
配置调试器并不困难。但有几个步骤。我已经看了好几遍了。我写这本指南是为了省下未来回想的脑力。
希望本指南对其他一些人也有用。
这应该不用多说了。
您需要安装一个扩展。哪一个取决于你的平台。
C/C++(Windows)
codelldb(OS X/Linux)
还要继续安装Rust 扩展。
现在已经安装了工具,您需要配置 VS Code 启动属性。
单击“调试(Debug)”->“添加配置(Add Configuration)”
如果您在 Windows 上,请选择C++ (Windows)
如果您使用的是 Mac 或 Linux,请选择LLDB: Custom Launch
这应该会创建并打开launch.json
。您必须手动更改“program”下的可执行文件名。
接下来,您应该验证是否启用了断点。有些读者说需要这样做。一些机器是默认启用它。🤷♂️
文件->首选项->设置(File -> Preferences -> Settings)
就这样!
添加断点。按 F5 启动。哇!
Rust 的调试工作确实好。虽不算完美。但是已经很好拉!
基本类型工作正常。当然,是它们没有被编译器优化掉的假设下。
我发现,在优化“未使用”变量时,Rust 编译器比 C++更具侵略性。有时我只是为了调试下,在变量中存储中间值,但值总是会’缺席‘,这有点烦人。
Vectors
工作很好。谢天谢地。我希望未展开的“preview”能提供更多信息。
不幸的是,其他容器类型根本不起作用。HashMap
是无法辨认的废品。:(
Visual Studio 2017 拥有natvis,这个 C++ 调试工具。其实并不太好。我有很多抱怨。但总比 Rust 强。
在写这篇文章的时候,我学到了一些新的东西。我有点激动,想和大家分享。
我正在试验microprofile箱子。其中,它的行为不像我想象的那样,所以我进入了调试器。令我惊讶的是,我能无缝地进入箱子的 Rust 代码。但真正让我震惊的是,我还可以直接进入它的底层 C++代码!
所有的这些都会“奏效”。不需要其他配置。您不必手动指定包含路径。
这太棒了!你可以很容易地进入箱子依赖。如果箱子依赖 C++代码,那么您也可以调试它。
我不知道这么容易。多么令人愉快的惊喜!
我已经准备了一个小样本项目,它的launch.json
预配置。这应该“奏效”。
cargo build
.vscode/ws.code-workspace
感谢调试组的工作人员。使用 VS Code 调试 rust 并不完美,但它非常好。本指南应包含您开始所需的一切。
这应该在任何平台上都能工作。不过,我只测试了 Windows 和 OS X。如果我错过了一个步骤或进程发生了更改,请通知我。
谢谢你的阅读。
Forrest Smith©2019 年。版权所有。