【发布时间】:2022-10-24 06:05:24
【问题描述】:
我正在使用LLDB extension for VSCode,我输入为i8 的变量打印为字符。无论是在 VSCode 调试面板中,还是在调试器控制台中使用 print 时。
变量定义如下:
for y in 0..self.height
self.height 是 i8。
我找到了How do I make the Xcode debugger show uint8_t values as numbers?,但即使尝试添加一个fromat:type format add -f decimal int8_t,print y 仍然输出(signed char) $5 = '\a' 而不是(让我参考一下C转义序列和ascii图表......)7。
【问题讨论】:
-
@PitaJ 究竟是什么解决方案?我似乎无法在那个线程中找到它。
-
那里的答案说尝试使用 rust-analyzer 扩展来生成启动配置文件。
-
这里有几件事。 (1) 需要注意的是,lldb 对 Rust 的支持主要是告诉 lldb,Rust 就像 C++ 一样,它应该使用 C++ 类型系统和表达式解析器。正如你所发现的那样,这只是一种工作。
-
但是类型格式化程序匹配只是与类型名称进行比较的字符串。格式化程序匹配所具有的唯一语言智能是 lldb 将对 typedef 链的所有元素应用匹配。但匹配只是类型名称上的字符串或正则表达式匹配。因此,如果您希望格式化程序匹配打印为“i8”的类型,那么您应该将字符串提供给类型格式化程序。
标签: visual-studio-code rust lldb