gdb调试

2019-08-20  本文已影响0人  很菜呀

gdb及调试排查

gdb使用

抓所有线程

thread apply all b squid_srv_do_write
thread apply ID1 ID2 command

gdb调试 fork程序 设置跟踪

默认情况下gdb是跟踪父进程的。
set follow-fork-mode child 命令设置gdb在fork之后跟踪子进程。
set follow-fork-mode parent设置跟踪父进程。

watch监控数据

# 监控数据
p &httpState->orig_request->body_reader
watch (BODY_HANDLER *) 0x13df6260

显示完整的字符串

set print elements 0

忽略中断信号

handle SIGPIPE nostop noprint

循环打印变量

set j=0 while (j <= 397)
if (fd_table[j].flags.open == 1 && fd_table[j].remote_port == 80)
p j p fd_table[j]
end
set $j++
end

放 ~ 目录, gdb 执行 source ~/ppp

forcus同时跟踪代码

forcus可以同时查看执行的具体代码行

上一篇 下一篇

猜你喜欢

热点阅读