まず、実質的に同じタイトルの別の質問が存在することを認識していますが、その質問に対する回答はここでは役に立ちません。別の質問が近づいていますが、ここでも解決策は私がここで使用できるものではありません。
私のアプリケーションは、Valgrindが本当に気に入らない共有ライブラリを使用しています。それは生成します:
Program Exception - illegal instruction
Image PC Routine Line Source
libirc.so 000000000405ED3C Unknown Unknown Unknown
libhdf5.so.7 00000000061338E2 Unknown Unknown Unknown
libhdf5.so.7 00000000061A73CE Unknown Unknown Unknown
libhdf5.so.7 00000000061A9D6F Unknown Unknown Unknown
libhdf5_fortran.s 0000000006B23233 Unknown Unknown Unknown
libhdf5_fortran.s 0000000006B19FF9 Unknown Unknown Unknown
les3d.x 00000000006D815C Unknown Unknown Unknown
そして、それが私のアプリケーションに入る前に死にます(まあ、それは私のアプリケーションに入りますが、私たちが最初に行うことは、それが死ぬ場所である共有ライブラリを初期化するルーチンを呼び出すことです)。Valgrindなしで実行しても違法な命令は発生しませんが、奇妙なsegfaultが発生するため、メモリチェッカーが必要になります。したがって、それは完全に使用不可能であり、それがエラー抑制が機能しない理由です。
Valgrindがアプリケーションによって呼び出された共有ライブラリで動作するのを実際に防ぐことは可能ですか?出力を抑制しませんが、実際には出力を抑制しません。そうでない場合、防止できるメモリチェッカーはありますか?