一般用GDB掛住進程后,跟蹤流程時,想要看看某些變量,會執行
(gdb) print {變量名}
或者簡寫
(gdb) p {變量名}
亦或者根據某個地址查看字符串內容
(gdb) x/s 0x60000b32e2f6
如果字符串比較長的時候,打印的內容並不完整,顯示完有限的字符,最后以'...'結束
(gdb) x/s 0x60000b32e2f6
0x60000b32e2f6: "POST /index.action HTTP/1.1\r\nHost: 10.8.28.39:8080\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nAccept-Language: en\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, l"...
解決方法
我們需要首先看下當前打印的長度,可以使用如下命令:
(gdb) show print elements
顯示結果:
(gdb) show print ele
Limit on string chars or array elements to print is 200.
修改打印字符串長度命令
(gdb) set print elements 999
'999'即我們指定的長度,如果該值為0,則代表不限制長度