如何使用gdb确定核心文件中pthread_上升(sig=6)的原因

如何使用gdb确定核心文件中pthread_上升(sig=6)的原因,gdb,pthreads,core,qthread,raise,Gdb,Pthreads,Core,Qthread,Raise,我的应用程序有时会崩溃,我找不到原因。我的应用程序是多线程(QThread),使用多个QUdpSockets。我认为这是由于同时访问插座造成的,但我不知道何时何地 核心文件中有bt的结果: #0 0x414596e1 in ?? () #1 0x412d731b in pthread_kill (thread=1649, signo=6) at signals.c:69 #2 0x412d76a0 in __pthread_raise (sig=6) at signals.c:200 #3 0x

我的应用程序有时会崩溃,我找不到原因。我的应用程序是多线程(QThread),使用多个QUdpSockets。我认为这是由于同时访问插座造成的,但我不知道何时何地

核心文件中有bt的结果:

#0 0x414596e1 in ?? ()
#1 0x412d731b in pthread_kill (thread=1649, signo=6) at signals.c:69
#2 0x412d76a0 in __pthread_raise (sig=6) at signals.c:200
#3 0x41459395 in ?? ()
#4 0x00000006 in ?? ()
#5 0x41546ff4 in ?? ()
#6 0xbd5fd8bc in ?? ()
#7 0x4145a87d in ?? ()
#8 0x00000006 in ?? ()
#9 0x00000020 in ?? ()
#10 0x00000000 in ?? ()
  • sig=6是什么,何时发射
  • 我如何确定这种行为的原因
  • 我如何知道缺少哪些-dev库(?堆栈的位置)

  • Linux上的信号号6是
    SIGABRT
    ——使用
    pthread_raise()
    引发它的事实似乎表明应用程序直接调用了
    abort()
    或失败的
    assert()


    回溯丢失的部分很可能在QT库中,因此请尝试为所有这些库安装调试符号。

    Linux上的信号号6是
    SIGABRT
    -使用
    pthread_raise()
    引发它的事实似乎表明应用程序已直接调用
    中止()
    或失败的
    assert()


    回溯中缺少的部分可能在QT库中,因此请尝试为所有这些库安装调试符号。

    请直接在问题中发布输出,而不是通过链接。完成请直接在问题中发布输出,而不是通过链接。完成