Linux下gdb调试daemon
1.首先在程序中添加sleep(30);让进程sleep30秒 2.替换程序 3.在source处启动gdb >gdb (gdb)file programname //此处会加载符号文件 (gdb)break 13 //在主文件的13行添加断点 (gdb)break file.c:15 //在指定文件的15行添加断点 (gdb)delete //删除所有断点 (gdb)attach pid //attach进程,pid使用ps -ef或ps -aux可以看到 (gdb)print val //打印变量值 (gdb)n //单步调试,类似vs2012的F10 (gdb)step //类似vs2012的F11 (gdb)c //类似vs2012的F5 (gdb)detach //detach
Linux下启动进程方式进行gdb调试
>gdb (gdb)file programname //此处会加载符号文件 (gdb)break 13 //在主文件的13行添加断点 (gdb)break file.c:15 //在指定文件的15行添加断点 (gdb)delete //删除所有断点 (gdb)run 启动程序 (gdb)print val //打印变量值 (gdb)n //单步调试,类似vs2012的F10 (gdb)step //类似vs2012的F11 (gdb)c //类似vs2012的F5 (gdb)bt //打印堆栈
//调试子进程 set follow-fork-mode child
//调试父进程 set follow-fork-mode parent