![](/img/trans.png)
[英]How can I set a breakpoint at a `panic` when debugging a Rust program with VS Code and the MSVC toolchain?
[英]How can I inspect variable values while debugging MSVC ABI Rust programs?
我已经下载了Rust 1.7.0的MSVC ABI版本,并按照文档中的猜谜游戏部分进行了操作。
我注意到构建使用本机工具链(在我的情况下是Visual Studio 2015 Update 2),因此生成本机调试器(如WinDBG,CDB或Visual Studio调试器)可以使用的本机PDB(调试符号)。 我可以轻松设置断点,步入标准库源等等。
我不能做的是检查变量值。 无论使用何种调试器,“本地人”显示都是空的。
根据我的收集,Visual Rust / RustDT IDE在使用GDB或LLDB作为后端时显示本地,而不是本机Windows调试引擎。 我不完全确定我是否可以使用它们来调试为MSVC ABI编译的Rust程序(使用PDB等)。
如果我想获得必要的调试经验,我唯一的选择是切换到GNU ABI? 除此之外,是否有一种简单的方法可以从原始调试工具(寄存器,存储器映射)映射到Rust符号(变量值)?
功能在实现之前不存在。 Rust是基于LLVM构建的,并且最近才考虑对LLVM使用完整的PDB支持 。 目前,LLVM仅支持有限的PDB,并且具有Clang项目的MSVC兼容性页面中最佳描述的限制。 在我看来,最好等到支持在那里,尽管对于其他编程语言已经实现了有趣的解决方法 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.