我有一个小程序,可以要求用户输入一些内容(实质上只是获取功能)。现在,我想稍微改变输入。我用gdb运行程序,我想在gdb提示符中以十六进制格式插入字节。
我尝试在gdb命令行界面上执行此操作的方式如下:
(gdb) printf "\x20\x20" | ./program
但这会导致错误:
Unrecognized escape character \x in format string.
如果我在shell中做同样的事情而没有gdb提示它的工作。我做错了什么?
谢谢:)
答案 0 :(得分:1)
你没有做错任何事 - 它只是gdb缺失的功能。您可以提交错误报告。
解决方法是:
(gdb) printf "%c", 0x20