3

Qtで、またはターミナルから直接、gdbを介してコアダンプをデバッグしようとすると、次のような警告が大量に表示されます。したがって、私のバックトレースは正しく機能していません。

警告:下位のスレッドライブラリに一致するlibthread_dbが見つかりません。スレッドのデバッグは利用できません。

警告:下位のスレッドライブラリに一致するlibthread_dbが見つかりません。スレッドのデバッグは利用できません。

警告:の共有ライブラリシンボルを読み込めませんでした。「setsolib-search-path」または「setsysroot」が必要ですか?

これは、実行可能ファイルがデバッグシンボルなしでビルドされたためですか、それともglibcの問題ですか?これを修正するための解決策はありますか?

4

1 に答える 1

9

これは、実行可能ファイルがデバッグシンボルなしでビルドされたためですか、それともglibcの問題ですか?

これは実行可能ファイルとは何の関係もありません。

GDBには、libthread_db.so.1に一致するバージョンが必要ですが、そのlibpthread.so.0ようなバージョンは見つかりません。

考えられる原因(最も可能性の高いものから最も低いものへ):

  • libpthread.so.0を削除しました(これは行わないでください)。
  • glibcをアップグレードしましたが、アップグレードが不完全であり、更新されませんでしたlibthead_db.so.1
  • ある種のクロスコンパイル環境を使用してて、GDBが一致するものを見つけることができるようにset solib-search-pathする必要があります。set libthread-db-search-pathlibthread_db.so.1

libthread_dbで試行しているGDBのバージョンを確認できますset debug libthread-db 1

于 2013-01-16T21:52:28.937 に答える