Linuxサーバーに1つのプロセスがあり、 setrlimit() 関数を使用してそのプロセスに1GBの仮想メモリを設定しており、コードベースでopenmpが使用されています。実行プロセスがクラッシュしたときに、コア ファイルが生成されます。コア ファイルをデバッグしたところ、#pragma omp parallel for 行でクラッシュが発生していることがわかりました。openmp ステートメントで仮想メモリが超過し、bad_alloc 例外が発生して処理されていないと思います。この #pragma omp parallel for line を try ブロック内に追加しようとし、bad_alloc 例外を含む catch ブロックを追加しましたが、キャッチされません。私もキャッチ(...)で疲れましたが、運はありません。
omp ステートメントによって発生する例外を処理する方法について、皆さんの提案を共有できますか。