gdb调试多进程多线程

时间:2022-10-08 16:43:41

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调试多进程多线程
gdb调试多进程多线程
gdb调试多进程多线程

gdb调试多进程

进程查看命令

info inferiors

gdb调试多进程多线程

进程切换

进程切换命令

inferiors n

gdb调试多进程多线程

gdb调试多线程

//线程查看命令
info threads

gdb调试多进程多线程

线程切换

//线程切换
thread n

gdb调试多进程多线程

关于gdb调试多进程多线程的总结
gdb调试进程与线程无论是编写程序还是检查错误,都是经常用到的,特别是像linux这样的操作系统,如果我们希望尽快找到错误,那么使用gdb调试指令是必不可少的,它可以帮助我们尽快找到文中错误,为我们的程序调试减轻了工作量。