none
共通言語ランタイム デバッグ:ハンドルできない例外について RRS feed

  • 質問

  • HBBG_C030.exeというモジュールをWindows2003のスケジューラに設定し、
    1日1回23時に実行していますが、イベントビューアに一番下の情報が出る場合があります。
    (必ず出るわけではなく、発生する周期も不明ですが、2,3日に1回は出ています。)

    VisualStudio.NET2003と.NetFramework1.1を使用して作成したHBBG_C030.exeおよび
    その中で使用しているdllのソースも確認致しましたが特に問題となる記述はないように思われました。
    また、開発環境では発生しておらず本番環境でのみ発生している現象となっています。

    プログラムはOracleのレコードおよび、Windowsのテキストファイルを削除するプログラムとなっています。
    開発環境上には削除対象のテキストファイルがあり、Oracleは本番環境の共有ストレージ上にあるOracleを使用しており、
    インスタンスを開発機用に作成しています。
    本番環境上にはOracle(と削除対象のテキストがあります。
    ただし、本番環境はクラスタ構成となっておりOracleと削除対象のテキストファイルは共有ストレージ上にあります。

    イベントビューアメッセージのhttp://go.microsoft.com/fwlink/events.aspにアクセスしたところ
    下記ページが表示されどうやらドライバーにうまくアクセス出来ていないのが原因に思われます。
    ただし、Oracleのレコードの削除とテキストファイルの削除の処理は行われており、
    なぜこのメッセージが出ているのかがわからない状況となっています。

    このメッセージの対処方法をご教授いただけないいでしょうか。
    また、アプリケーションの動作には問題がないようなので
    無視してしまっても特に問題のないレベルの情報なのでしょうか。

    よろしくお願い致します。

    Details
    Product: Windows Operating System
    ID: 26
    Source: Application Popup
    Version: 5.2
    Symbolic Name: STATUS_LOG_HARD_ERROR
    Message: Application popup: %1 : %2
       
    Explanation

    The program could not load a driver because the program user doesn't have sufficient privileges to access the driver or because the drive is missing or corrupt.

       
    User Action

    To correct this problem:

    • Ensure that the program user has sufficient privileges to access the directory in which the driver is installed.
    • Reinstall the program to restore the driver to the correct location.

    If these solutions do not work, contact Product Support Services.

       
       
    Version: 5.0
    Symbolic Name: status_log_hard_error
    Message: Unable to Load Device Driver : device driver could not be loaded.
       
    Explanation

    The program could not load a driver because the program user doesn't have sufficient privileges to access the driver or because the drive is missing or corrupt.

       
    User Action

    To correct this problem:

    • Reinstall the program to restore the driver to the correct location.

    If these solutions do not work, contact Product Support Services.



    --------------------------------------------------------------------------------------------------------------------------------------------------------------

    アプリケーション ポップアップ: HBBG_C030.exe - 共通言語ランタイム デバッグ サービス : アプリケーションで、ハンドルできない例外が発生しました。

    処理 ID=0x15d8 (5592)、スレッド ID=0x1148 (4424)

    アプリケーションを終了するには [OK] をクリックしてください。
    アプリケーションをデバッグするには、[キャンセル] をクリックしてください。

    詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。


    --------------------------------------------------------------------------------------------------------------------------------------------------------------

    2010年3月9日 4:34

回答

  • s.miyazaki さん、はじめまして。フォーラムのご利用ありがとうございます。

    "共通言語ランタイム デバッグ サービス : アプリケーションで、ハンドルできない例外が発生しました。" については、汎用的なエラーメッセージのため、
    原因や影響を判断するのは難しいです。正確な調査には、メモリダンプ解析が必要になります。

    アプリケーション側の問題としては、try-catch漏れや、システムが不安定なときにOutOfMemoryException 等が発生したといったことが考えられます。
    運用環境なので難しいとは思いますが、調査される場合は AppDomain.UnhandledException を使用してイベントログやファイルなどに例外コールスタックを残すと役に立つと思います。 
    AppDomain.UnhandledException
    http://msdn.microsoft.com/ja-jp/library/system.appdomain.unhandledexception(VS.71).aspx


    システム側の問題としては、コードアクセスセキュリティの問題とか、.NET Framework のバージョン違い、アセンブリ構成がおかしくなっているといったことが考えられます。

    コードアクセスセキュリティについては、管理ツールのユーティリティで変更することができます。
    .NET Framework 構成ツール (Mscorcfg.msc) を使用したセキュリティ ポリシーの設定
    http://msdn.microsoft.com/ja-jp/library/ezf53bba(VS.80).aspx

    他にも 、.NET Framework の再インストールを試したり、 更新プログラム適用状況をチェックしていただくのが有効かもしれません。

    今回の場合、処理自体は正常に動いている上に、発生が不規則とのことなので見極めが難しいですね。。
    他にも情報をお持ちの方がいらしたら、ぜひ投稿してください。

    それでは。
    2010年3月12日 9:41

すべての返信

  • s.miyazaki さん、はじめまして。フォーラムのご利用ありがとうございます。

    "共通言語ランタイム デバッグ サービス : アプリケーションで、ハンドルできない例外が発生しました。" については、汎用的なエラーメッセージのため、
    原因や影響を判断するのは難しいです。正確な調査には、メモリダンプ解析が必要になります。

    アプリケーション側の問題としては、try-catch漏れや、システムが不安定なときにOutOfMemoryException 等が発生したといったことが考えられます。
    運用環境なので難しいとは思いますが、調査される場合は AppDomain.UnhandledException を使用してイベントログやファイルなどに例外コールスタックを残すと役に立つと思います。 
    AppDomain.UnhandledException
    http://msdn.microsoft.com/ja-jp/library/system.appdomain.unhandledexception(VS.71).aspx


    システム側の問題としては、コードアクセスセキュリティの問題とか、.NET Framework のバージョン違い、アセンブリ構成がおかしくなっているといったことが考えられます。

    コードアクセスセキュリティについては、管理ツールのユーティリティで変更することができます。
    .NET Framework 構成ツール (Mscorcfg.msc) を使用したセキュリティ ポリシーの設定
    http://msdn.microsoft.com/ja-jp/library/ezf53bba(VS.80).aspx

    他にも 、.NET Framework の再インストールを試したり、 更新プログラム適用状況をチェックしていただくのが有効かもしれません。

    今回の場合、処理自体は正常に動いている上に、発生が不規則とのことなので見極めが難しいですね。。
    他にも情報をお持ちの方がいらしたら、ぜひ投稿してください。

    それでは。
    2010年3月12日 9:41
  • こんにちは。フォーラムオペレーターの高橋春樹です。

    s.miyazakiさん、MSDNフォーラムのご利用有難うございます。
    今回、弊社菊地よりアドバイスを投稿させて頂いたのですが、如何でしょうか?
    菊地からのアドバイスが、このフォーラムを利用している人にとっても、有用な情報になるのではないか、
    と思いましたので、勝手ながら、回答マークを付けさせてもらいました。

    尚、回答マークは問題解決を意味するものではないので、その他アドバイスがありましたら
    ご投稿の程、宜しくお願いします。


    マイクロソフト株式会社 フォーラム オペレーター 高橋春樹

    2010年3月24日 6:42