gdb如何查看core文件中各个线程的信号

时间:2021-04-09 18:32:14
原来在solaris上调core的时候都是pflags+pstack,用pflags看到是哪个线程core了之后用pstack来看相关的堆栈,
现在用gdb的thread all apply倒是可以获取core文件所有线程的堆栈,但是每个线程的信号不知道如何获取

3 个解决方案

#1


linux环境生成的core会记录线程的信号么?

#2


一般打开core的时候倒是有core的停止信号,但是不知道是哪个线程的。怎么能看出core在哪个线程上的?
Core was generated by `imapsvcd -name cmdc_agent -sysagent 10.121.71.153 -port 31153 -agentid 0 -threa'.
Program terminated with signal 6, Aborted.

用info threads status获取到的信息就这些了,但事实上搜索各个线程后才发现是core在8号线程上的
(gdb)   14 process 31930  0xffffe410 in __kernel_vsyscall ()
  13 process 31993  0xffffe410 in __kernel_vsyscall ()
  12 process 31994  0xffffe410 in __kernel_vsyscall ()
  11 process 31995  0xffffe410 in __kernel_vsyscall ()
  10 process 31996  0xffffe410 in __kernel_vsyscall ()
  9 process 32036  0xffffe410 in __kernel_vsyscall ()
  8 process 32037  0xffffe410 in __kernel_vsyscall ()
  7 process 32160  0xffffe410 in __kernel_vsyscall ()
  6 process 32253  0xffffe410 in __kernel_vsyscall ()
  5 process 32258  0xffffe410 in __kernel_vsyscall ()
  4 process 32259  0xffffe410 in __kernel_vsyscall ()
  3 process 32302  0xffffe410 in __kernel_vsyscall ()
  2 process 367  0xffffe410 in __kernel_vsyscall ()
* 1 process 31834  0xffffe410 in __kernel_vsyscall ()

#3


一看就是我司员工,咳

#1


linux环境生成的core会记录线程的信号么?

#2


一般打开core的时候倒是有core的停止信号,但是不知道是哪个线程的。怎么能看出core在哪个线程上的?
Core was generated by `imapsvcd -name cmdc_agent -sysagent 10.121.71.153 -port 31153 -agentid 0 -threa'.
Program terminated with signal 6, Aborted.

用info threads status获取到的信息就这些了,但事实上搜索各个线程后才发现是core在8号线程上的
(gdb)   14 process 31930  0xffffe410 in __kernel_vsyscall ()
  13 process 31993  0xffffe410 in __kernel_vsyscall ()
  12 process 31994  0xffffe410 in __kernel_vsyscall ()
  11 process 31995  0xffffe410 in __kernel_vsyscall ()
  10 process 31996  0xffffe410 in __kernel_vsyscall ()
  9 process 32036  0xffffe410 in __kernel_vsyscall ()
  8 process 32037  0xffffe410 in __kernel_vsyscall ()
  7 process 32160  0xffffe410 in __kernel_vsyscall ()
  6 process 32253  0xffffe410 in __kernel_vsyscall ()
  5 process 32258  0xffffe410 in __kernel_vsyscall ()
  4 process 32259  0xffffe410 in __kernel_vsyscall ()
  3 process 32302  0xffffe410 in __kernel_vsyscall ()
  2 process 367  0xffffe410 in __kernel_vsyscall ()
* 1 process 31834  0xffffe410 in __kernel_vsyscall ()

#3


一看就是我司员工,咳