8

我有一个大而长的字符串,我想将它捕获到一个文件中。我可以使用日志记录来获得大部分的方式:

设置登录
设置日志文件 gdb.log

…但是如果我使用porx/s来打印字符串,引号和垃圾都会被转义。如何按原样获取字符串?

4

2 回答 2

8

对于非常大的字符串,您还可以使用:

(gdb) set variable $s = MY_STRING
(gdb) dump binary memory FILE $s $s + (size_t)strlen($s)

它可以很容易地适应处理带有空字节的缓冲区。此外 FILE 的内容永远不会包含字符串以外的任何内容。

于 2012-12-24T18:52:49.517 回答
5

啊,我完全忘记了printf

printf "%s\n", some_string
于 2012-12-21T23:09:45.457 回答