我已经下载了Rust 1.7.0的MSVC ABI版本,并遵循了文档中的猜谜游戏部分。
我注意到构建使用本地工具链(在我的情况下为Visual Studio 2015 Update 2),因此生成由本地调试器(例如WinDBG,CDB或Visual Studio调试器)消耗的本地PDB(调试符号)。我可以轻松设置断点,进入标准库源代码等等。
我不能做的是检查变量值。无论使用哪种调试器,“ Locals”显示均为空白。
据我所知,当使用GDB或LLDB作为后端而不是本机Windows调试引擎时,Visual Rust / RustDT IDE会显示本地。我不确定是否可以使用它们来调试为MSVC ABI(带有PDB等)编译的Rust程序。
如果我想拥有必要的调试经验,切换到GNU ABI是我唯一的选择吗?除此以外,是否有一种简单的方法可以从原始调试工具(寄存器,内存映射)映射到Rust符号(变量值)?
功能在实现之前不存在。Rust是基于LLVM构建的,并且直到最近才考虑为LLVM提供完整的PDB支持。目前,LLVM仅对PDB提供有限的支持,其限制已在Clang项目的MSVC兼容性页面上得到了最好的描述。我认为,最好等到有支持为止,尽管对于其他编程语言,已经实现了有趣的解决方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句