macOS下arm-gdb-none-eabi的GDB便利变量展开异常求助
macOS下arm-gdb-none-eabi便利变量字符串显示异常问题
在macOS系统使用arm-gdb-none-eabi调试工具时,设置字符串类型的GDB便利变量后,直接打印变量只会显示第一个字符,出现显示异常:
(gdb) set $foo = "bar" (gdb) p $foo $11 = "b"
但实际上变量的值已经被正确存储,可通过以下命令验证:
(gdb) set $foo = "bar" (gdb) p/x $foo $12 = {0x62, 0x61, 0x72, 0x0} (gdb) ptype $foo type = char [4]
临时解决方法
- 使用
p/x以十六进制格式查看完整的字符串字节内容 - 用
printf "%s\n", $foo命令直接输出完整字符串 - 强制类型转换后打印:
p (char*) $foo
内容的提问来源于stack exchange,提问作者Catalin Moraru
相关产品推荐
相关产品推荐

