gdb打印字符*为字符串字符

gdb打印字符*为字符串字符,gdb,Gdb,问题>如何使gdb能够按如下方式打印buf: “35=DC\00149=ABCD\001” 多谢各位 问题>如何使gdb能够按如下方式打印buf: 现在没有办法做到这一点。如果愿意,您可以提交gdb错误报告 这里发生的事情是,gdb的字符串打印函数有一个特殊情况,即当数字跟随作为转义序列发出的字符时,它会转义一个数字。这就是为什么会看到\064而不是4如何确定字符串的长度?我没有看到空终止符。我知道长度,因为我手动写入buf。非常感谢。 char* buf; ... (gdb) x/s buf

问题>如何使gdb能够按如下方式打印buf:

“35=DC\00149=ABCD\001”

多谢各位

问题>如何使gdb能够按如下方式打印buf:

现在没有办法做到这一点。如果愿意,您可以提交gdb错误报告


这里发生的事情是,gdb的字符串打印函数有一个特殊情况,即当数字跟随作为转义序列发出的字符时,它会转义一个数字。这就是为什么会看到
\064
而不是
4

如何确定字符串的长度?我没有看到空终止符。我知道长度,因为我手动写入buf。非常感谢。
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'