一直对gdb多线程调试接触不多,最近因为工作有了一些接触,简单作点记录吧。 先介绍一下gdb多线程调试的基本命令。 info threads 显示当前可调试的所有线程,每个线程会有一个gdb为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。 thread ID 切换当前调试的线程为指定ID的线程。 break thread_test.c:123 thread all在所有线程中相应的行上设置断点thread apply ID1 ID2 command 让一个或者多个线程执行...
by wxju168 - Linux文档专区 - 2009-07-18 21:10:23 阅读(1530) 回复(0)
如果目标进程已经core dump了,那么 gdb -c core xxx xxx是对应的程序文件。 如果目标进程还在运行,通常此时用于调试线程死锁的情况。有两种方法 一是 gdb -p xxx xxx是该进程的进程ID 或者用gcore xxx先获取对应进程的core,他会生成一个core文件 core.xxx 进入gdb后 (gdb) info threads 可以列出所有的线程,缺省设为当前的线程前面有一个*号 比如 gdb) info thread 9 system thread 154262 Priority:154 0xc000000...
gdb 多线程调试基本命令 实现简介 以及一个问题的解决 [email=teawater@gmail.com]teawater@gmail.com[/email] 一直对gdb多线程调试接触不多,最近因为工作有了一些接触,简单作点记录吧。 先介绍一下gdb多线程调试的基本命令。 info threads 显示当前可调试的所有线程,每个线程会有一个gdb为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。 thread ID 切换...
本帖最后由 tqyou85 于 2013-09-25 10:42 编辑 ppc平台。运行一个多线程的进程,用gdb attach上去,老是提示:[code]Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done. warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available. Loaded symbols for /lib/libpthread.so.0[/code]目标板的/lib目录下有libpthread.so与libthread_db....
gdb调试多线程时,多个线程之间老是来回切换,而且线程的执行也不受gdb的限制,调试活动线程时,非活动线程都在自由执行,没有阻塞住单步执行。 帮助里面说可以使用opition:set scheluer-locking on/off/step来设置线程的锁定状态,但是我设置了之后,线程并没有如帮助里面说的那样,一是还会在多个线程之间切换,二是线程的执行仍然是单独执行,并没有将所有非活动线程阻塞,请问这是怎么回事呢?
大家好, 我使用ddd调试pthread多线程,ddd启动后,显示如下信息: GNU DDD 3.3.1 (i386-redhat-linux-gnu), by Dorothea L dlopen failed on 'libthread_db.so.1' - libc.so.6: cannot handle TLS data gdb will not be able to debug pthreads. 但是我在/lib/i686/,/lib/tls/ 目录下都能找到libc.so.6这个文件。请大家指点。 多谢多谢!