2016-08-26 3 views
1

DLLをコーディングしていて、クライアントアプリケーションがクラッシュした場合にカーネルに接続されたハードウェアを最終的にクリーンアップするためにIOCTLをいくつか送信します。DLL内のアプリケーションクラッシュをキャッチする方法

クラッシュは、クライアントアプリケーションプログラマーの間違いである可能性があります。無効なアクセス、0で割るなどです。この状況では、接続されているハードウェアが何らかのクリーンアップを行う必要があります。

添付されたクライアントアプリケーションのクラッシュをDLLに通知する方法はありますか?

+0

私はあなたがdllのクラッシュに対処することができるとは思わない、全体のプロセスが終了したためです。一般的な方法は、プロセスの終了コードを取得し、プロセスの終了コードを取得するサービスを作成し、終了コードに応じてクリーンなジョブを実行することです。 – neohope

答えて

0

私はdllですべてのクラッシュを処理することはできませんが、プロセス全体が終了しているためです。一般的な方法は、プロセスの終了コードを取得し、プロセスの終了コードを取得するサービスを作成し、終了コードに応じてクリーンなジョブを実行することです。

しかし、あなたはまだあなたのdllのいくつかの例外を処理することができます。 API "AddVectoredExceptionHandler"を使用できます。 Effective Exception Handling in Visual C++Exception Handling - Inform your users!をお読みください。

+0

参照は、この問題の理解に非常に役立ちます。ありがとう。 – Dileepkay

関連する問題