03GDB线程管理

1. 线程的基本操作

1).查看所有线程 : info/i threads,linux下的线程是轻量级线程,可以通过命令ps -aL查看所有的轻量级线程
2).线程切换:thread 线程编号;
3).查找线程: thread find 关键字,这样就查找了线程(名字/地址/LWP)包含关键字的线程
4).改变当前线程的名字: thread name abc,就是将当前线程的名字改为abc
5).为线程设置断点:b 28 thread 线程编号,只有该线程执行到这个里的时候,才会停住,其他线程执行到这里不会停住,当改线程结束后,该断点会自动被清除

2. 为某些线程执行命令,下方以bt为例:
1). thread apply 【线程编号】 bt,这样就是在查看执行线程编号的调用栈
2). 为多个线程执行命令:thread apply 1 2 3 bt,这样就可以看到1 2 3的线程的调用栈信息
3). 为多个线程执行命令:thread apply 1-5 -q bt,这样就可以看到1到5号的线程的调用栈信息,其中-q表示多个线程的信息显示在一起,有时候是需要这么做的
4). 为多个线程执行命令:thread apply 1-3 5 bt,这样就可以看到1到3号和5号的线程的调用栈信息
5). 为多个线程执行命令:thread apply all bt,这样就可以看所有线程的调用栈信息

3. 控制线程日志信息的打印(线程的创建和线程的销毁):
1). 查看日志开关是否开启:show print thread-events
2). 关闭线程日志信息:set print thread-events off

原文地址:https://www.cnblogs.com/qiumingcheng/p/15813527.html