Linux上のアプリケーションで問題をデバッグしようとしています。ランダムな場所でSIGSEGVがlibstdc++.so
またはlibstdc.so
にクラッシュする傾向があります。Linuxでのスレッド問題のトラブルシューティング方法
私が追加したスレッドのジョブは非常に分離されているので、どこにでも明らかな競合状態はないようです。しかし、それはほとんどすべての時間クラッシュします。
アプリケーションはg++ -c ... -pthread -D_REENTRANT
でコンパイルされ、g++ -pthread -o ...
にリンクされたが、それはまだlibstdc*.so
機能の一つで、ほぼすべての時間をクラッシュますされています。私は何が間違っているのか理解しようと数日を無駄にしました...
誰にもヒントはありますか? libstdc*.so
がスレッド認識としてコンパイルされていることを確認する方法はありますか?私を助けることができるどんなgdbコマンド?デバッグヒープ?
あなたがすべきいくつかのことがありますが、私はほんの数年前からLinuxに働いているので、私は迷ってしまいました...
コードの関連セクションを投稿できますか? – hmjd
あなたはそのワームの缶でいくつかのマスタードが欲しいですか? – PlasmaHH
@hmjd:残念ながら、これは既に大きなコードベースであり、マルチスレッド化のために拡張されています。私は、そのサブセットの再生シナリオを作成することはできません。したがって、私は助けることができるテクニックを探しています、それは私ができることすべてです。 – Coder