gdb 打印字符串的全部内容

方法一:

          p (str + 200)@str_len

数组也可以当指针使用,就直接偏移指针打印

方法二:

          通常在gdb调试时要打印出一些字符串的内容,通过

p str@str_len  打印字符串时,通常有长度的限制,我测试linux机器上默认为200个,但实际输出的长度str_len可能大于该值。 结果不能够完全输出,而进行了省略,通过命令set print element 0就可以了。eg:
p *prefix@req_line_sz $25 = “GET /web/0/http/0/%E7%8E%B0%E5%9C%A8%E6%B3%A8%E5%86%8C%E4%B9%B0%E4%B8%80%E5%BE%97%E5%85%AD%EF%BC%8C%E5%8D%B3%E8%B4%AD%E4%B9%B0%20%E4%B8%87%E7%BD%91.%E4%B8%AD%E5%9B%BD,%E5%8F%AF%E5%BE%97%E5%88%B0%20%E4″… (gdb) set print element 0 (gdb) set print element 0
(gdb) p *prefix@req_line_sz $26 = “GET /web/0/http/0/%E7%8E%B0%E5%9C%A8%E6%B3%A8%E5%86%8C%E4%B9%B0%E4%B8%80%E5%BE%97%E5%85%AD%EF%BC%8C%E5%8D%B3%E8%B4%AD%E4%B9%B0%20%E4%B8%87%E7%BD%91.%E4%B8%AD%E5%9B%BD,%E5%8F%AF%E5%BE%97%E5%88%B0%20%E4%B8%87%E7%BD%91.CN;%E8%90%AC%E7%B6%B2.CN;%E4%B8%87%E7%BD%91.%E4%B8%AD%E5%9B%BD;%E8%90%AC%E7%B6%B2.%E4%B8%AD%E5%9B%BD;%E4%B8%87%E7%BD%91.%E4%B8%AD%E5%9C%8B;%E8%90%AC%E7%B6%B2.%E4%B8%AD%E5%9C%8B HTTP/1.1\r\n”

    原文作者:沈万三gz
    原文地址: https://blog.csdn.net/shenwansan_gz/article/details/50449424
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞