Windows 7 でクラッシュしてこのエラーを生成する C CLI プログラムがあります。
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
まず、ステートメントのトリガーが原因である可能性があることをどこかで読んだassert
ので、最初の対策として、それらを if ステートメントに置き換えて、失敗した可能性のあるアサートをキャッチしてログに記録しました。printf
次に、プログラムが終了する場所を確認するステートメントをコードにスプレーしました。3 番目に、最初に終了をログに記録しない限り、コードがどこにも終了しないように特に注意しました。プログラムはスレッド化されているため、かなりの数の処理が行われていますが、それほど複雑なことはありません。
問題は、2回目にエラーが発生したときに、プログラムがprintf
ステートメントの外で終了したことを示したため、どこで終了したかがわからないことです。
2つの質問:
- 出口に関する詳細を確認するには、適切なデバッガーを使用する必要があると思います。
- ステートメント以外に、この種のエラーに関するその他の落とし穴はあります
assert
か? このエラーに関するブログ エントリはかなりありC++
ますが、それほど多くはありませんC
。
Visual C++ 2008 Express Edition を使用しています。また、 でプログラムを呼び出していCMD.exe
ます。