GDB: GNU gdb (GDB) 7.6.1
VScode: 1.52.1(系统设置)
我只想在调试时得到某个变量的十六进制值。
我尝试添加像" variable,h“和"variable,x”这样的变量,但它显示错误“必须指定格式为:'natural','binary','decimal','hexadecimal',or 'octal'”
在这种情况下有什么合适的解决方案吗?
发布于 2021-04-09 23:27:46
格式说明符<variable>,h和<variable>,x在GDB中映射为零十六进制输出格式(/z)。它类似于/x格式,值被视为整数并打印为十六进制,但打印前导零是为了将值填充到整数类型的大小。需要更新的GDB版本(>=7.11)才能支持它。有关更多信息,您可以阅读VS代码的C/C++扩展的存储库上的this issue。
如果您想要获取十六进制值,一种解决方法是将变量作为空指针进行观察:(void *)variable
https://stackoverflow.com/questions/65474120
复制相似问题