不显示线程启动和退出信息
例子
#include <stdio.h>
#include <pthread.h>
void *thread_func(void *p_arg)
{
sleep(10);
}
int main(void)
{
pthread_t t1, t2;
pthread_create(&t1, NULL, thread_func, "Thread 1");
pthread_create(&t2, NULL, thread_func, "Thread 2");
sleep(1000);
return;
}
技巧
默认情况下,gdb检测到有线程产生和退出时,会打印提示信息,以上面程序为例:
(gdb) r
Starting program: /data/nan/a
[Thread debugging using libthread_db enabled]
[New Thread 1 (LWP 1)]
[New LWP 2 ]
[New LWP 3 ]
[LWP 2 exited]
[New Thread 2 ]
[LWP 3 exited]
[New Thread 3 ]
如果不想显示这些信息,可以使用“set print thread-events off
”命令,这样当有线程产生和退出时,就不会打印提示信息:
(gdb) set print thread-events off
(gdb) r
Starting program: /data/nan/a
[Thread debugging using libthread_db enabled]
可以看到不再打印相关信息。
这个命令有些平台不支持,使用时需注意。参见gdb手册.
贡献者
nanxiao