■ 実行時にプログラムがハングアップ(他の2台のパソコンでは一応正常)

[Visual C++ Q & A 掲示板] [過去ログの一覧]


うーん [E-Mail] 2008/02/16(土) 19:42:53 <初心者>
お世話になります.

環境はWindows XP Home Edition VS2005 VC++ MFCです.
この環境でView形式の簡易Drawソフトを作成しました.

2,3日前まで問題なく動いていたのですが,突然
・・・
my.exe の 0x1001bc7e で初回の例外が発生しました: 0xC0000005: 
場所 0x00000000 に書き込み中にアクセス違反が発生しました。
my.exe の 0x1001abd7 で初回の例外が発生しました: 
0xC0000094: Integer division by zero

の実行時エラーが表示されるようになり,画面が一瞬開いた後に次の
逆アセンブル画面が表示されて→のところでハングアップするようです.

コンパイル,リソースコンパイル,リンク,コード生成などは一応
正常に終了しています.
 ...
 1001ABFC  inc         edx  
→1001ABFD  popfd            
 1001ABFE  push        edx  
 1001ABFF  ror         edx,cl 
 1001AC01  pop         edx  

上記のView形式のソフトは他の2台のコンピュータでは問題なく実行でき,画面も
正常に表示されます.

VS2005をいったんアンインストールして再インストールしたのですが,
インストールして最初に起動したときに「〜の読み込みに失敗しました」
とかのエラーが表示されたのですが,一応プロジェクトを開くことが
できました.しかし,リビルドして実行すると再び上記の障害が出て
弱っております.

何がきっかけでこういう障害が起こったか覚えていません.レジストリ
が書き換えられてしまったのでしょうか? 考えられる可能性をご教示
下さい.最悪の場合,パソコンのリカバリディスクで初期状態に復帰する
しかないかもしれませんが,それはかなり痛いです.
して修正できる方法が

うーん 2008/02/16(土) 20:00:08 <初心者>
↑最後の行はゴミです.

「システムの復元」もやってみましたが,そのときはVC++.netを
立ち上げたときに一度だけ「〜の読み込めませんでした」みたいな
画面が出てきましたが,一応プログラムを実行することができる
ようになりました.ただし,プロジェクトのプロパティ画面が
表示されないというトラブルが残ったので再インストールしたら
再び上記の障害が出てしまいました.

うーん 2008/02/16(土) 20:40:55 <初心者>
再び,インストール前にシステムを復元したところ,「Visual Stadio
が〜の状態を調べています」みたいなのが出てきて,その後

パッケージの読み込みエラー

パッケージVisual Web Develop Source Editor Packageを正しく
読み込めませんでした.
パッケージの読み込みを再度有効にするには'denev/resetskippkgs'
を使用してください.

わけがわからないので無視してそのままVC++.netを立ち上げると
今度はプロジェクトが開けなくなってしまいました.

もう,OSの状態もおかしくなってるようです. 

うーん 2008/02/18(月) 03:45:05
リカバリーディスクでC:ドライブを設定し直して(たぶん初期化されてる)
Service Pack 2 などをインストールした後にVS2005をインストールし直して
新しいView形式のSDKプログラムを新規作成して実行するとやっぱり最初の
エラーが。。。もう、推論も糞も何がなんだかさっぱりわかりません。

違ったことやったといえばVC++.netのほかにVB.netもインストールしたぐらいとか。。。コンピュータのハードが原因でこんな障害おきますかね。

やっぱり、

→・・・・・・ popfd のエラーが出てしまいます。今日一日の時間は何だったんだ。パソコン窓の外にぶん投げたくなった。

 

2008/02/18(月) 10:58:39
メッセージ自体は0での割り算ですから
int a=1 ,b=0 , c;
c = a / b;
こんなコードでも出すことはできます。

変数の初期化が正しく行われていなくて
ほかのマシンではたまたま動いているということは
ないでしょうか?
デバッグモードでも同様の現象がでますか?

かなり初期のうちに例外が発生しているようなので
ステップ実行で場所が特定できませんか?

とりあえず思いついただけと書いてみました。

うーん、くそーーー! 2008/02/18(月) 18:37:46 <初心者>
レスありがとうございます。デバッグモードでもでます。

でもMFC Wizardでシングルドキュメントで新規作成したばかりの
プロジェクト(生成されたコードに何も手を加えていない)で
このトラブルが出てくるからお手上げです。

tetrapod 2008/02/18(月) 20:57:17
独り言ならチラシの裏かご自分の blog にでも書いておくんなまし

故障した可能性もあるし、正しくリカバリーできていない可能性もあるし、ウィルス感染かもしれないし
真相はマシンを直接触っている人にしかわからん。俺たちに訊かれても答えられん。

マシン故障の可能性を診断し各種再インストールする人件費と、
旧マシン処分+新マシン購入する物品費用と、
どっちが高いか天秤するだけだな。好きなほうをどーぞ

うーん 2008/02/19(火) 14:49:24 <初心者>
答えられないならほっとけばいいじゃないですか。
なんか、言い方に棘がある。

ええ、もう書き込むつもりはなかったんですけどね。

これ以降、何も書きません。

vtl 2008/02/19(火) 16:09:53
あほな質問者が多いな

とーりすがり 2008/02/19(火) 18:07:48
掲示板での質問になれてないならいきなり書きこまずに
メモ帳にでも書いてじっくり読み返してから書きこめば?

それでもまともに質問できないのなら掲示板に書きこまずにお金を払ってそれ相応のところにでも頼めばいい

どら 2008/02/19(火) 20:39:25
もう書き込む気がないのなら、解決にチェックを入れてクローズさせてください。
とは言っても、書き込むきないんですよね・・・
では勝手に解決チェックを入れます。

質問する方も答える方も、必要最低限のマナーは守って、気持ちよく使いまし
ょうよ。

親身に答えてくださっている方もたくさんいるのですから。
僕はこのサイトの多くのユーザに助けられてますので、こういうのは心が痛み
ます。

PCの機械的な問題の可能性が高そうに見えますけどね・・・他に端末があるよ
うですから、それで全く同じ環境を並行して作ってみてはいかがですか?
OSを含む環境に差がないのに2台では動いて1台では動かないのであれば、プログラムではなくその1台のPCを疑うのが一般的だと思いますが・・・

まぁ、もし投稿者がのぞいて試してみる気になったらコンピュータのイベント
ログの「システム」に怪しげなエラーが無いかなどを確認してみてください。

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library