如何让GDB按字面打印字符串(不转义)?

时间:2012-12-21 23:09:45

标签: gdb

我有一个很长的字符串,我想捕获到一个文件。我可以使用日志记录来获取大部分内容:

set logging on
set logging file gdb.log

...但如果我使用px/s打印字符串,则引号和垃圾都会被转义。我怎么能按原样获得字符串?

2 个答案:

答案 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