• ベストアンサー

Windowsでプログラムが異常終了したときの記録等はプログラマティッ

Windowsでプログラムが異常終了したときの記録等はプログラマティックに取得する方法 現在VC++2008でプログラムを作成しているのですが、例外等が発生したときにキャッチしてダンプを出したりすることはできます。しかしWindowsにおいて停電などによってPCが落ちたときの、プログラムの異常終了の記録があったと仮定して、それをプログラマティックに取得できるかどうかが知りたいです。 どなたかご存知の方が居られましたらご教授願えれば幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • aris-wiz
  • ベストアンサー率38% (96/252)
回答No.2

通常、電源断などで終了した場合物理的に、 OSが何か記録を残したことを保証するのは不可能なので、 正常終了した場合に記録し、復帰時・起動時に 正常に終了が記録されたかどうかをチェック行うのが 確実だと思います。 イベントログの特定のIDがあるかや、 或いは自分で正常終了する場合に 特定のファイルやレジストリに 情報を残すでもいいと思います。 起動時にそれらをチェックし、 「正常に記録されていなければ、 正常に終了されなかった」ことにすれば いいと思います。 フェイルセーフなど行うソフトウェアでは よくこういったことを行い記録することがあります。

crysis5375
質問者

お礼

Windowsの機構を使わないとなるとやはりそうなりますか。 大変さんこうになりました。ありがとうございました。

その他の回答 (1)

  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.1

windows イベント取得 win32API http://nienie.com/~masapico/api_ReadEventLog.html

crysis5375
質問者

お礼

有用なソースをありがとうございました。 大変参考になります。

関連するQ&A

  • PIX for Windowsで異常終了する

     現在、シェーダープログラムを学んでいます。  デバッグのため、PIX for Windowsを使ってみようと思い、簡単なプログラムで実験してみましたが、上手くいきません。実行環境と現象は以下の通りです。 <実行環境>  Windows7 Pro SP1 64ビット  Microsoft DirectX SDK (June 2010)  VC++2010Express と DirectX10を使用   <現象>  スタート プログラムより、DirectX Utilities (64-Bit)の中にあるPIX for Windows (64-Bit)を起動  新規から   Debugフォルダにあるexeファイルを指定し、   A single-frame capture of Direct3D whenever F12 is pressedにチックしてスタート    ウインドウが表示され、数秒後に「問題が発生したため、プログラムが正しく動作しなくなりました」と表示され終了。   <その他>  フォルダには半角英数字しか使用していません  32ビット用のPIXforWindowsを使用しても同じ現象です  exeファイルを単独で動かすと正しく動作します(単に三角形を表示しているだけ)  シェーダーファイルはexeファイルと同じフォルダにあります。  原因として考えられることは何なのか。  また、原因究明のための情報を得るためにはどうしたらよいのか  を教えてください。  なお、異常終了後、デバックを開始すると、 「ハンドルされない例外が 0x70B7E605 (d3d11.dll) で発生しました(sample.exe 内): 0xC0000005: 場所 0x0000001C の読み取り中にアクセス違反が発生しました。」 と出力されます。sample.exeは私が作成したテスト用プログラム(三角ポリゴンを1枚表示するのみ) です。また、dx10を使用しているのですが、d3d11.dll(dx11?)で発生と表示されます。    VisualStudio2013は試用期限が切れてしまい使えません  (試用期間中は、これでデバッグできたのですが)。  無料バージョンにはシェーダデバッガが付いていないため、どうしたらよいか悩んでいます。

  • VC++6.0 リリース版で異常終了

    VC++6.0 Professionalについての質問です。 デバッグ版では正常に動作するのですが、リリース版だと特定の操作で例外処理が発生して止まってしまいます。 特定の操作とは「ファイルを読み込もうとしたとき」と「ある特定の描画処理をOnDrawにさせたとき」の2つです。 デバッガで処理を追ってみましたが、どちらの操作でもソース上で異常終了はしていないようなので問題点がはっきりせず、どこに手をつければいいのやら見当がつきません。 こういうパターンは何が典型的な原因になるのでしょうか。

  • Word98が突然異常終了してしまう。

    Word98をしばらく使っていると、 「エラーが発生したため、winword.exeを終了します。プログラムをもう一度開始する必要があります。エラーログを作成しています。」 と表示され、突然Wordが終了してしまいます。 また、drwtsn32.logというファイルを見ると、エラーの起きた時刻に、 「アプリケーション例外が発生しました: アプリケーション: WinWord.exe (pid=1564) 例外番号: c0000005 (アクセス違反)」と 書かれています。 本体はNECのVersaProのVA10J、 OSはWindows2000Professional、OfficeはOffce97word98を使用しています。 文書を作成中に何度もこの現象に遭遇し困っています。 何か解決策はあるのでしょうか?よろしくお願いいたします。

  • フォルダが開けなくてExplorerが異常終了する現象

    デスクトップ上やスタートメニューにあるフォルダが 突然開けなくなってしまいました。ショートカットもだめです。 コントロールパネルも開けません。ただ、それらのアイコンを 右クリックで「開く」ではなく、「エクスプローラー」で開くと エクスプローラーは起動します。エクスプローラー自体はそのまま 普通に起動しています。 エラーの現象は以下のダイアログメッセージが表示され、異常終了します。 「エラーが発生したため、explorer.exeを終了します。プログラムをもう 一度開始する必要があります。エラーログを作成しています。」 イベンドビューアのプリケーションログには以下のような 情報がありました。 「シェルが停止し、Explorer.exe が再起動されました。」 Dr.Watsonnのログにはこのようなログがでています。 「アプリケーション例外が発生しました: アプリケーション: explorer.exe (pid=2260) 発生時間: 2004/12/17 @ 15:36:47.390 例外番号: c0000005 (アクセス違反)」 どなたかこれと同じようなトラブルを解決した方はいないでしょうか? なんとかこのままPCを使っていけますが、とても不便で困っています。 どうぞご助言お願いいたします。 ちなみに環境は以下となります。 OS : Windows 2000 Pro SP4 : IE 5.5SP2

  • 異常終了後の処理について

     昨晩、黒画面で終了しないという状態だったため、しかたなく電源ボタン押しで止めました。最後に動かしたのはReal One Playerで、その前に確かリソース90%以上使用によるエラーメッセージが出た後にも使い続けた状態です。このメッセージが出ると、その後に決まってどこかに不具合が出始めるため(たとえリソース量を戻しても)、たぶんその影響が終了時に出てきたのかもしれないです。  すると今朝、クリック音がしないという異常に気付き、サウンドの設定をするとブルースクリーンになるなどいろいろあって、そこから「kernel32.dllにエラーが発生しました」が連発するようになりました。動くプログラム(DonutPなど)と上のエラーメッセージが出て強制終了するプログラム(エクスプローラなど)とで分かれました。  そこでスキャンディスクや、scanreg /fixをしてみたところ、何が良かったのか、それからは現時点まで、色々なプログラムを動かしましたが異常は出てません。  こういう場合、とりあえず異常は回避されたと考えていいでしょうか? それとも再インストールはした方がいいでしょうか? 確か設定がほとんどクリアーされるので、再インストしないに越したことはないのですが・・・。

  • Windows98がうまく終了できません。

    Windows98がうまく終了できません。 Windowsの終了をすると青い画面になり、次の文字が出てきます。 -------------------------------------------------        Windows 例外OEがVXD PCIMP(01)+00001C08の0028:C29AEDC8で発生しました。  現在のアプリケーションを終了します。 *どれかキーを押すと、現在のアプリケーションは強制終了 されます。 *Ctrl+Alt+Delキーをもう一度押すと、コンピューターが再起動します。 アプリケーションで保存していないデータは、すべて失われます。 どれかキーを押すと続行します。 ------------------------------------------------- それで、Ctrl+Alt+Delキーを押すのですが、うんともすんともいわないので、Enterキーを押すと画面が緑色のWindowsの画面でアイコンのない、ただの緑色になります。 そこからはどのキーを押しても何もならないので、パソコン本体の電源を切って終了しています。 だから、起動するときはいつもスキャンディングから始まります。 解決方法を教えてください。お願いします。

  • Windowsが終了できません

    Windows98を使用しています。 最近毎日以下のようなことが起こって心配しています。 1.終了しようとすると砂時計のまま動きません。しばらくすると「このプログラムからの応答がありません…」のメッセージが出て(プログラム名不明)、「待機」や「終了」をどちらを押しても画面がフリーズして結局電源ボタンの長押しで終了するしかありません。 2.立ち上げると異常終了をしたということで毎回スキャンディスクから始まります。 Windowsが立ち上がると「ポ(プ)ーン」という音が2回します。(よく無効なボタンを押したとき出る音です) そしておなじみの「このプログラムは不正な処理を・・・」のメッセージが表示されます。 タイトルバーには「SCANREGW」と表示されています。 数回カチカチ押すとメッセージは消えてあとは普通に使用できます。 「ポ(プ)ーン」という音は何でもないとき(放置しているとき)も不意に鳴ることがあります。 「このプログラムは不正な処理を・・・」のメッセージのタイトルバーに「Pccclient」と表示されたこともあります。 デフラグはかけました。スキャンディスクは「異常なし」と表示されました。 メモリは128MBでシステムリソースは立ち上げ時で41~45%です。 少ないと思われるでしょうが、以前はこれでも異常はなかったです。 常駐ソフトはウィルスバスターの他にフリーソフトを3、4つ入れていますが、これも原因に関わることでしょうか? いずれも「必要なもの」でなるべくはずしたくはないのですが… ハードディスクが壊れる前兆じゃないかと毎日ハラハラしています。 アドバイスがあったらぜひお願いします。

  • 「プログラムの終了」がでてしまいます

    windows vista studioをノートパソコンで購入しました。 ビデオカメラで撮影したMPEG4の動画を再生、編集(ビデオクリエイター)しようとすると以下のメッセージが出てプログラムが強制終了してしまいます。 *メッセージ* Windows Movie Maker は動作を停止しました 問題が発生したため、プログラムが正しく動作しなくなりました。 プログラムは閉じられ、解決策がある場合はwindowsから通知されます。 ●前使用していたxpでは再生、編集可能でした。 ●動画は前のパソコンから移したものです。 ●ムービーファイルに分類されているほかの動画は再生、編集可能でした。 なにか解決策があればおしえていただきたいです。あまり専門的なことがわかりませんがよろしくおねがいします。

  • SonicStageが異常終了

    SonicStage CP 4.3が異常終了するようになりました。 起動すると「SonicStage Application は動作を停止しました」と表示され、プログラムを終了するしかありません。 問題の詳細表示を見ると、ntdll.dll というDLLが異常な雰囲気ですが、どうすればよいのでしょうか?・・・ 問題の署名: 問題イベント名: APPCRASH アプリケーション名: Omgjbox.exe アプリケーションのバージョン: 4.3.4.7090 アプリケーションのタイムスタンプ: 4691cdbb 障害モジュールの名前: ntdll.dll 障害モジュールのバージョン: 6.0.6000.16386 障害モジュールのタイムスタンプ: 4549bdc9 例外コード: c0000005 例外オフセット: 00042e7b OS バージョン: 6.0.6000.2.0.0.768.2 ロケール ID: 1041 追加情報 1: d822 追加情報 2: 47405374f1fada6995763025c1fa832c 追加情報 3: 01b0 追加情報 4: b5550bccb224796c88a03f12dd451e96 OSは、Windows Vista Home Basic です。 解決方法の分かる方、宜しくお願いします。

  • Windowsプログラム

    パソコン起動時に「Windows更新プログラムの構成に失敗しました」表示されます。その後正常に使用可能になります。パソコン終了時には「10個中1個目の更新プログラムのインストール中」と表示され10個完了すると電源が切れます。10個が11個、12個と時々で変化します。これが起動時、終了時に必ず繰り返されるようになって1週間ほど経ちます。以前はときたまこういうことがありましたが、ここのところ毎日です。何か異常事態なのでしょうか、そのうち収まるものでしょうか。詳しい方教えて下さい。