2008年2月26日星期二

gdb中打印长字符串

其中1,2是我的乱七八糟的做法,3是简洁纯正的做法,很好很强大


1.       Gdb中可以调用printf做格式化打印:

printf "%.2000s",s
2000
表示最多打印2000个字符。如果需要打印更长的字符,可以增大该数据。

2.       Gdb可以将交互输出到文件。需要调用如下两个命令:

set logging on

set logging file xxx.txt

以上两个命令配合可以起到将长字符串打印到文件的作用。

但是如果字符串中有若干不可见字符,就不能使用这种方法了。这时候我们需要把数

据 dump到文件中。命令如下:

dump binary memory s.txt s s+1000

 

 s是一个字符串指针,表示dump的起始位置,s+1000表示dump的末尾。S.txt表示结果
dump
的文件名
具体的参数意义可以看gdbmannual



3.打印东西的长度设置项为

(gdb) set print elements

(gdb) set print elements 0

为全部打出。


--
With regards

没有评论: