我有一个很长的字符串,我想捕获到一个文件。我可以使用日志记录来获取大部分内容:
set logging on set logging file gdb.log
...但如果我使用p
或x/s
打印字符串,则引号和垃圾都会被转义。我怎么能按原样获得字符串?
答案 0 :(得分:4)
对于真正的大字符串,您还可以使用:
(gdb) set variable $s = MY_STRING
(gdb) dump binary memory FILE $s $s + strlen($s)
可以很容易地适应处理具有空字节的缓冲区。此外,FILE的内容永远不会包含除字符串之外的任何内容。
答案 1 :(得分:3)
啊,我完全忘了printf
:
printf "%s\n", some_string