GDB命令行界面错误:格式字符串中无法识别的转义字符\ x

时间:2014-09-06 17:25:15

标签: gdb

我有一个小程序,可以要求用户输入一些内容(实质上只是获取功能)。现在,我想稍微改变输入。我用gdb运行程序,我想在gdb提示符中以十六进制格式插入字节。

我尝试在gdb命令行界面上执行此操作的方式如下:

(gdb) printf "\x20\x20" | ./program

但这会导致错误:

Unrecognized escape character \x in format string.

如果我在shell中做同样的事情而没有gdb提示它的工作。我做错了什么?

谢谢:)

1 个答案:

答案 0 :(得分:1)

你没有做错任何事 - 它只是gdb缺失的功能。您可以提交错误报告。

解决方法是:

(gdb) printf "%c", 0x20