GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大。因此掌握常用的进程线程调试显得非常重要。
gdb调试进程
如果需要使用gdb调试进程
set detach-on-fork [on|off]
on: 断开调试follow-fork-mode指定的进程。
off: gdb将控制父进程和子进程。
gdb常用调试指令介绍
gdb run(r) 程序运行
gdb q (quit)退出调试运行
gdb break(b)文件名+n 在某个文件1的第n行打断点
gdb delete breakpoints 取消所有断点
gdb delete breakpoints n 取消n个断点
gdb cont/continue 使程序跳过暂停在当前断点继续运行
gdb cont n跳过n个断点继续运行
info inferiors 查看当前正在运行的进程
inferiors n 进程间切换
info threads 查看当前正在运行的线程
threads n 线程1间切换
多进程多线程例子
gdb调试多进程
进程查看命令
info inferiors
进程切换
进程切换命令
inferiors n
gdb调试多线程
//线程查看命令
info threads
线程切换
//线程切换
thread n
关于gdb调试多进程多线程的总结
gdb调试进程与线程无论是编写程序还是检查错误,都是经常用到的,特别是像linux这样的操作系统,如果我们希望尽快找到错误,那么使用gdb调试指令是必不可少的,它可以帮助我们尽快找到文中错误,为我们的程序调试减轻了工作量。