1.主要步骤
gdb调试的步骤 :编译必须用-g 把调试信息添加进去,生成调试需要的符号信息
1.先把文件编译为可执行文件(如对test.c进行编译:gcc -g -o test test.c);
2.在终端输入gdb 后回车
3.接着输入file test (不用带后面的.c,否则不识别)后回车,之后进入调试过程
4.调试过程,根据需要可对代码进行查看或操作:
gdb指令: 1,l 显示源代码
2,b 设置断点
3,i 查看信息,如i b查看设置的断点信息
4,n 执行下条语句
5,r 运行程序
6,p 打印变量值,如p sum 打印变量sum的值
7,q 退出gdb调试
GDB基本调试(可参见博文):(https://blog.csdn.net/zdy0_2004/article/details/80102076)
2.GDB调试多进程:
1,单独调试子进程, 使用attach “PID”单独调试
2,使用调试器选项follow-fork-mode选项,设置调试父进程还是子进程,如set follow-fork-mode child
GDB调试多线程:
1,info threads 显示当前可调试的所有线程,gdb会为每个线程分配一个ID
2,thread ID 调试指定的目标ID的线程
3,set scheduler-locking[off|on|step] 设置被调试线程的模式:
1,on 表示只有当前被调试的线程会继续执行
2,off 表示不锁定任何线程,其他线程都可以继续执行
3,step 表示在单步执行的时候,只有当前线程会执行
GDB嵌入式远程调试:
(https://www.cnblogs.com/Dennis-mi/articles/5018745.html)
嵌入式目标机装上gdbserver,挂载PC共享目录,使用gdbserver运行程序,PC端连接目标机进行gdb调试。
————————————————
版权声明:本文为CSDN博主「小陈689」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44575952/article/details/125351118