• 締切済み

DLL内部異常発生時、EXEをまきこまれない

 現在、Windows上で動作する、とあるEXEを開発しています。 <EXE実行環境> OS:Window7 32bit <EXE開発環境> MS VC++2008 ※言語は、C++/CLI <DLL開発環境> MS VC++2008 ※言語は、C++ 私自身が携わっているEXEから、必要に応じて、外部委託したDLLを呼出すことを行っています。 現状、結合テストを行っている最中なのですが、この「DLL」がひどいできで、頻繁に異常終了します。 DLL異常終了で、EXEが巻き込まれてしまう為、テスト者に頻繁に呼出されてしまうのを避けたいのです。(このDLLの開発チームというか、開発者が、そもそもテストしたのかどうか疑っているレベルです) 例えば、EXE側で例外トラップ等をしてやることで、DLL内部で発生した異常を完全に捕らえることは可能でしょうか。 また、別途良い方法はないでしょうか。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

DLL、ダイナミックとは言え、サブルーチンに 変わりはなく、スタッティックリンクのものと 同じです。自分のプログラムのアリバイが 欲しいなら、問題の関数の前後でエラーを 拾うか、ログを出力するなどして、対応する しかないでしょう。 先にも述べたようにEXEとDLLを通るスレッドは 同じものなので、DLLの中の例外だけを免れる 方法はありません。

関連するQ&A