マルチスレッドアプリケーションでクラッシュしましたが、何らかの理由でスタックが部分的に解消される前に例外をキャッチできません。gdbキャッチがスローされてから例外が無視される
今私はgdbと接続してcatch throw
を使用してキャッチしようとしています。しかし、私は他の無関係な、捕らえられた例外をたくさん得ています。どのように私はそれらを無視することができますか?
私はignore 1 1000000
を試しましたが、これは現在注目されている例外だけを無視するのではなく、すべてのcatch throw
例外を無視します。
どのように私はその特定のものだけを無視することができますか?例えば多分ファイルと行番号で?
C++ 11を使用している場合、 'std :: packaged_task'の使い方を学び、次に' std :: future'を取得する必要があります。そのタスクからすべての例外をメインスレッドに転送します。あなたのスレッドは例外的なものでなければなりません。 'std :: future'はこの問題をエレガントに解決します。 –