2016-07-20 15 views
1

いつもアプリがクラッシュして原因を見つけることができません。私のアプリはマルチスレッド(QThread)で、いくつかのQUdpSocketを使用します。私はそれがソケットへの同時アクセスのために起こると思うが、私はいつどこで知りません。gdbでコアファイルのpthread_raise(sig = 6)の理由を調べるには

コアファイルから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 ??() 
  1. SIG = 6とするとき、それはemitedは何が?
  2. この現象の原因を特定するにはどうすればよいですか?
  3. -devライブラリが見つからない(スタックの位置)を知る方法を教えてください。 Linux上
+0

出力をリンクではなく質問に直接投稿してください。 –

+0

完了済み完了 – portinary

答えて

0

シグナル番号6はSIGABRTある - それはpthread_raise()で提起されていたという事実は、アプリケーションが直接abort()または失敗assert()呼ばれたことを示していると思われます。

バックトレースの欠けている部分がQTライブラリにある可能性が高いので、すべてのデバッグシンボルをインストールしてみてください。