char* buf;
...
(gdb) x/s buf
0x7fffef8f5f80: "35=DC\001\064\071=ABCD\001"
(gdb) x/12cb buf
0x7fffef8f5f80: 51 '3' 53 '5' 61 '=' 65 'D' 66 'C' 1 '\001' 52 '4' 57 '9'
0x7fffef8f5f88: 61 '=' 83 'A' 80 'B' 88 'C' 84 'D' 1 '\001'
问题>如何启用gdb以如下方式打印buf:
"35=DC\00149=ABCD\001"
?
谢谢
答案 0 :(得分:3)
问题>如何启用gdb以如下方式打印buf:
现在无法做到这一点。如果您愿意,可以提交gdb错误报告。
这里发生的是gdb的字符串打印函数有一个特殊情况,当它跟随作为转义序列发出的字符时转义一个数字。这就是为什么你看到\064
而不是4
。