- 締切済み
アプリケーションエラー
私はvisual studio2005でアプリケーションプログラムを作成したりしているのですが、開発したプログラムを起動したとき、時々【"0x7c97a754"の命令が"0x00000000"のメモリを参照しました。メモリが"read"になることはできませんでした。プログラムを終了するには[OK]のボタンをクリックください】というウィンドウが表示され、プログラムが止まってしまいます。[OK]ボタンを押せば、プログラムが起動しだすのですが、毎日定時にタスク起動するプログラムですので、このようなエラーはどうしても避けたいところであります。これの対処法はありますでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- MARU4812
- ベストアンサー率43% (196/452)
> Sub Mainの中で一番最初に走るように設定しています。 考えられる原因は 「ログ出力そのものにバグがある」 ・例えばファイルの出力先にファイルの作成権限が無いなど。 「プログラムの実行方法に問題がある」 ・例えばOSがVistaでUACが邪魔してるなど。 後者なら、そのあたりの説明はされていないと思いますので、 説明がないとこちらで把握できない内容になります。 分野としては OS 側の制御である可能性が高いので、OS の ログを確認して下さい。
- MARU4812
- ベストアンサー率43% (196/452)
>「プログラム起動」のログ 具体的にどこの事を言っていますか? Sub Main 起動でその関数内から取ってますか? Form 起動で起動フォームのコンストラクタから取っていますか? Form の Load イベントなら、プログラム起動直後の処理とは 言えません。 コンストラクタで失敗してるなら、各コントロールの設定の 確認になります。 コンストラクタまでいっていないと、プログラムとしては 何もしていないのでエラーが出る事自体考え難いですが、 OS のイベントログなどを確認してはいかが?
お礼
回答ありがとうございます。 「プログラム起動」のログを出力する処理ですが、これは小生が作成したもので処理内容をテキスト出力するものです。Sub Mainの中で一番最初に走るように設定しています。エラーが発生したとき、一番最初に走るログ出力する処理が回らなかったので、プログラムを呼び出し時に発生したと思いました。
- MARU4812
- ベストアンサー率43% (196/452)
エラーメッセージで検索してみれば分かりますが、 そのエラー情報だけでは原因の特定は困難です。 実行時のログを出力し、どこまで処理が成功しているか エラーが起こっている近辺で変数に入っているか値を確認 など、地道なデバッグ作業で原因を探る事になると思います。
お礼
回答ありがとうございます。問題が発生した時からプログラム内で処理毎にログを出力するようにしてみたのですが、作成したプログラムを呼び出したときにエラーが発生しているようなのです。プログラムを呼び出したときに、「プログラム起動」のログを出力するように設定していたのですが、ログ出力せずにエラーが発生していたため、呼び出し時に発生したのは間違いないと思います。
お礼
返信ありがとうございます。そして、こちらの返信遅れてすいません。 OSはサービスパック2をあてたwindows 2003 serverを使っています。 イベントビュアーでログを見てみたところ「【"0x7c97a754"の命令が"0x00000000"のメモリを参照しました。メモリが"read"になることはできませんでした。・・・」と同様のことしか書いていませんでした。