マルチスレッドの腐敗バグをデバッグするのに役立つ無料のツールや戦略は何ですか?
-
02-10-2019 - |
質問
マルチスレッドを備えたクライアントサーバーアプリケーションがあります。サーバー側は、STD ::リストが破損しているために失敗し、SEGVになります。 2つのスレッドがSTD ::リストを同時に更新し、それを破壊する場所で何らかのクロススレッドタイミングの問題があると思われます。
これを追跡するための無料のツールまたは役立つ可能性のある戦略を提案してください。
解決
同時アクセスのために破損している共有データ構造を知っている場合は、データ構造にミューテックスを配置して、1つのスレッドのみがAA時間にアクセスできるようにしてから、再試行してください。
共有データを同時スレッドで更新できないことを確認する必要があります。複数のスレッドを読むことは問題ありません。複数のスレッドの読み取りと1つ以上の書き込みに注意する必要があります。
使用しているOSとどのコンパイラを指定できますか?
所属していません StackOverflow