码迷,mamicode.com
首页 > 数据库 > 详细

Linux下gdb线程的调试

时间:2018-07-19 11:57:22      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:编号   .com   指定   main   xxx   调试   img   执行   font   

多线程的调试命令 

1、info threads: 
这条命令显示的是当前可调试的所有线程,GDB会给每一个线程都分配一个ID。前面有*的线程是当前正在调试的线程。 
2、thread ID: 
切换到当前调试的线程为指定为ID的线程。 
3、thread apply all command: 
让所有被调试的线程都执行command命令 
4、thread apply ID1 ID2 … command: 
这条命令是让线程编号是ID1,ID2…等等的线程都执行command命令 
5、set scheduler-locking off|on|step: 
在使用step或continue命令调试当前被调试线程的时候,其他线程也是同时执行的,如果我们只想要被调试的线程执行,而其他线程停止等待,那就要锁定要调试的线程,只让它运行。 
off:不锁定任何线程,所有线程都执行。 
on:只有当前被调试的线程会执行。 
step:阻止其他线程在当前线程单步调试的时候抢占当前线程。只有当next、continue、util以及finish的时候,其他线程才会获得重新运行的。 
6、show scheduler-locking: 
这条命令是为了查看当前锁定线程的模式。 

7.i threads

实现线程间切换

8.编译的时候需要注意的是,别忘了加动态链接库和-g。 

gcc -g *.c -o xxx -lxxx

我的:gcc -g rwlock.c main.c -o a -lpthread

技术分享图片

 

一个小提示:

在输入gdb xx时,进入gdb命令,这时会输出一些信息。如上所示,这些信息大多都是关于gdb的一些信息,可以不让他输出,

如:gdb -q xx

技术分享图片

这里面a是我生成的调试信息的文件名。

Linux下gdb线程的调试

标签:编号   .com   指定   main   xxx   调试   img   执行   font   

原文地址:https://www.cnblogs.com/tianzeng/p/9334813.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!