• 締切済み

WinXPや2000では動作するんですが・・・

【環境】 ・Windows2000 SP3 ・VC++6.0 メニューを画面に表示する簡単なプログラムを作成したのですが、Windows2000やXPでは問題なく動作するもののWindows98で実行させるとOSからエラーが表示され異常終了してしまいます。質問の仕方からお伺いすることになって恐縮ですが、PGのどの部分を本文に載せて質問すれば良いのか併せてご教示いただけると幸いです。 【エラー内容】 このプログラムは不正な処理を行ったので強制終了されます。 終了しない場合は、プログラムの製造元に連絡してください。 MENUのページ違反です。 モジュール :MENU.EXE、アドレス: 0167:0041be71 Registers: EAX=011b42a0 CS=0167 EIP=0041be71 EFLGS=00010246 EBX=0066f74c SS=016f ESP=0066f6a8 EBP=0066f6f4 ECX=00000000 DS=016f ESI=00008770 FS=1dc7 EDX=81850ab4 ES=016f EDI=0066f700 GS=0000 Bytes at CS:EIP: 8b 41 38 85 c0 75 0f ff 74 24 04 ff 71 1c ff 15 Stack dump:

みんなの回答

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.3

> Windows98で実行させると こちらに 開発環境をインストールできない ネットワークにはつながっている ような場合はリモートデバッグの術でステップ実行できます。 おサル最強の味方!リモートデバッグ http://www.netsphere.jp/osaru/rdebug/rdebug.htm > Windows2000やXPでは問題なく動作するものの 実はエラーが出なきゃならないような処理なのに、間違って動作してしまっているというパターンが多いです(^^;

参考URL:
http://www.netsphere.jp/osaru/rdebug/rdebug.htm
waka-ba
質問者

お礼

ご回答ありがとうございます。 リモートデバッグを試してみます。

回答No.2

あと、コンパイルのオプション。 それから、使っている関数をMSDNで調べて、Windows98がサポートしていない関数を使っていないか、調べること。 ソースは、デバッガでステップ実行し、止まったところの前後数行。この数行というのが、実は難しい。

waka-ba
質問者

お礼

ご回答ありがとうございます。 プログラム作成端末と実行端末が違ったのでデバッグ検証ってどうやれば良いのか調べていましたところ、リモートデバッグの回答もいただいたので、それで試して見ます。

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

MFCの使用の有無 動いていた状態から動かなくなったときに追加した処理

waka-ba
質問者

お礼

ご回答ありがとうございます。 MFCは使用しています。 もともと動作していたプログラムは、画面上にメニューを表示するプログラムでした。今回追加したのは、そのメニューを起動する前に、パスワード画面を表示して、パスワードが通ったら今まで動作していたメニューを表示するというように変化させました。

関連するQ&A

  • KRNL386について

    windows98でシステムファイルチェッカーを使うと必ず下記のエラーがでて以上終了してしまいます。なにか方法がないでしょうか? SFC のページ違反です。 モジュール : KRNL386.EXE、アドレス : 0002:00004317 Registers: EAX=00005f5f CS=0167 EIP=00004317 EFLGS=00000216 EBX=c187a480 SS=4c27 ESP=00008114 EBP=00008120 ECX=0000e021 DS=0187 ESI=0045cffc FS=535f EDX=c187e361 ES=0187 EDI=0045d000 GS=0000 Bytes at CS:EIP: 67 ab fe 46 ff fe 46 ff e2 92 8a 46 ff 59 66 5b Stack dump:

  • wininitのページ違反

    起動すると、毎回下のような表示が出ます。そのままパソコンを使っていても何もおかしいことはないのですが、なぜこのような表示が出るのでしょうか。出ないようにするには、どうしたらよいのでしょうか。 「このプログラムは不正な処理を行ったので強制終了されます。終了しない場合はプログラムの製造者に連絡してください」 WININIT のページ違反です。 モジュール : <不明>、アドレス : 0000:8170d0ed Registers: EAX=0044b000 CS=015f EIP=8170d0ed EFLGS=00010a86 EBX=00580000 SS=0167 ESP=0068fe44 EBP=0068ff78 ECX=00000000 DS=0167 ESI=8170d0ec FS=2b27 EDX=bff8b6be ES=0167 EDI=00000000 GS=0000 Bytes at CS:EIP: 00 02 00 90 9f db d4 00 00 00 00 00 00 00 00 03 Stack dump:

  • 一般保護違反

    フリーセルをやっていると、エラーがでて、詳細をみると 下記のようになっていました。 直すにはどうすれば良いのでしょうか。 __________________________ FREECELL の一般保護違反です。 モジュール : FREECELL.EXE、アドレス : 0001:00002667 Registers: EAX=00000003 CS=5687 EIP=00002667 EFLGS=00000286 EBX=017f8178 SS=5bc7 ESP=0000236c EBP=00002376 ECX=00000000 DS=5bc7 ESI=00000000 FS=523f EDX=820b0100 ES=013f EDI=00000003 GS=0000 Bytes at CS:EIP: 89 57 02 ff 06 60 05 0b ff 75 15 83 f9 03 0f 8f Stack dump: 00022386 01000003 23945497 0003250f 00000000 088c0001 00010706 00030002 00000003 00020002 17672446 00060003 03120840 00000000 000b583a 00e301c4

  • UPDATE のページ違反です。SYSTEM.DLL

    パソコンを起動し、数分経つと下記のようなメッセージが表示されます。 UPDATE のページ違反です。 モジュール : SYSTEM.DLL、アドレス : 0167:100014be Registers: EAX=00015185 CS=0167 EIP=100014be EFLGS=00010297 EBX=00000000 SS=016f ESP=0063ede0 EBP=0063eef8 ECX=73657373 DS=016f ESI=0063ff6e FS=329f EDX=00000000 ES=016f EDI=0063eef8 GS=328e Bytes at CS:EIP: 89 01 8d 85 fc fe ff ff 50 56 e8 75 ff ff ff 8b Stack dump: 0063edf4 0063f648 0063edf4 bff773ef bff77378 30343638 3d550035 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ウィンドウズのアップデートをしたせいでしょうか? 解決方法をお教えて頂ければ幸いです。 どうかよろしくお願いします。

  • WMPで動画再生ができません;

    ページ違反ですと出てきて勝手に終了させられます。 詳細として以下の様に表示されますがなんのことやらさっぱりです(??) WMPLAYER の一般保護違反です。 モジュール : <不明>、アドレス : 0000:00000027 Registers: EAX=09d4ff00 CS=0167 EIP=00000027 EFLGS=00210216 EBX=09d493bc SS=016f ESP=09c500f0 EBP=09c50110 ECX=09c50194 DS=016f ESI=81af0d20 FS=72f7 EDX=bff768d5 ES=016f EDI=09c501bc GS=0000 Bytes at CS:EIP: 07 6f ef 00 f0 6f ef 00 f0 6f ef 00 f0 6f ef 00 Stack dump: お助け下さい!!

  • エクセル2000のモジュール違反

    フィルタオプションを使って検索条件を抽出しようとすると 以下のようなものが表示され、そのファイルが終了してしまいます 時々はうまく抽出できるのですが、うまくいかないほうが多いです 過去の質問を見たのですが、ちょっと違うみたいなので質問しました ページが壊れているのでしょうか? EXCEL のページ違反です。 モジュール : EXCEL.EXE、アドレス : 016f:30060707 Registers: EAX=00000000 CS=016f EIP=30060707 EFLGS=00010202 EBX=00000000 SS=0177 ESP=0062fc30 EBP=0062fc70 ECX=c15b6180 DS=0177 ESI=0069f130 FS=4107 EDX=0001354f ES=0177 EDI=00000000 GS=0000 Bytes at CS:EIP: ff 30 ff 74 24 10 e8 39 66 fb ff 50 e8 c8 a7 fc Stack dump: 0062fc64 00000001 3017a25a 00000000 00000000 0062fc64 00000001 00000000 00000000 000001f0 000002df 00000261 306892c0 000002df 00000261 00000000

  • この違反は何ですか?

    IEXPLORE のページ違反です。 モジュール : <不明>、アドレス : 0000:10001f14 Registers: EAX=00005957 CS=0167 EIP=10001f14 EFLGS=00010246 EBX=0058daa2 SS=016f ESP=0058da4c EBP=0058da88 ECX=c94544e0 DS=016f ESI=0058dae2 FS=1bdf EDX=000294c4 ES=016f EDI=00000000 GS=0000 Bytes at CS:EIP: Stack dump: 毎回インターネットを閉じると出てきてしまいます。 どうしたら出てこなくなりますか? どうぞよろしくお願いいたします。 windows98 IE6です。

  • SACCの強制終了

    いつもお世話になります。 このところ、頻繁にこのような表示が出るのですが、意味合いが良くわかりません。 アナログオヤジに解るような説明を、お願いできますでしょうか? --------------------------------------------------------- このプログラムは不正な処理を行ったので強制終了されます。 終了しない場合は、プログラムの製造元に連絡してください。 SACC のページ違反です。 モジュール : KERNEL32.DLL、アドレス : 0167:bff884ea Registers: EAX=c003010c CS=0167 EIP=bff884ea EFLGS=00010206 EBX=01bafcc8 SS=016f ESP=01ab0000 EBP=01ab0178 ECX=00000000 DS=016f ESI=00000000 FS=65c7 EDX=bff768d5 ES=016f EDI=7ff502a8 GS=0000 Bytes at CS:EIP: 53 56 57 8b 75 10 8b 38 33 db 85 f6 75 2d 8d b5 Stack dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

  • EXPLORER のページ違反

    マイコンピューターのCのアイコンを右クリックすると次のエラーメッセージが出てしまいます。 どうすれば直るでしょうか? EXPLORER のページ違反です。 モジュール : P2KSHELL.DLL、アドレス : 0177:0185141f Registers: EAX=00000000 CS=0177 EIP=0185141f EFLGS=00010202 EBX=00007826 SS=017f ESP=008dedd0 EBP=00007826 ECX=035a0ec0 DS=017f ESI=035a0eb0 FS=5e47 EDX=0000381f ES=017f EDI=00000000 GS=0000 Bytes at CS:EIP: ff 50 04 83 e8 34 74 59 48 0f 85 02 01 00 00 8b Stack dump:

  • WinMXがインストールできない!!

    OSはWindows98です。WinMXをデスクトップにDLして、インストールしようとしたのですが、winmx331.exeをダブルクリックすると、「このプログラムは不正な行為をしたので強制終了されます。終了しない場合は、プログラムの製造元に連絡してください。」と出てきます。詳細を押すと、 WINMX331 の 03H 例外です。 モジュール : WINMX331.EXE、アドレス : 015f:005b784f Registers: EAX=00000005 CS=015f EIP=005b784f EFLGS=00000206 EBX=00505080 SS=0167 ESP=007efe04 EBP=007efe04 ECX=00000000 DS=0167 ESI=00505094 FS=698f EDX=000a1f40 ES=0167 EDI=00429f84 GS=0000 Bytes at CS:EIP: 90 90 90 b8 01 00 00 00 5d c3 90 90 90 90 90 90 Stack dump: 007efe28 005b77e5 005050a8 000a1f40 00429f84 00000000 006e0000 81672770 00000000 007eff78 00505014 00000000 00000000 00000000 bff8b6be 00000000 と出てきます。どうしたら良いのでしょうか?