ページ 11

龍神録コードで実行中OSが突然落ちる

Posted: 2009年1月15日(木) 13:31
by giro
はじめまして。学校の課題でシューティングゲームをC++で作成しているのですが、ゲームをプレイ中にOSが落ちるというバグが発生するのですが原因わかりますか?

Re:無題

Posted: 2009年1月15日(木) 13:42
by toyo
ゲームプログラムじゃなくてOSが落ちるんですか
OSが落ちるときはハードウェアの不良の可能性もありますが
ちなみにOSはなんでしょうか

Re:無題

Posted: 2009年1月15日(木) 13:52
by たかぎ
> バグが発生するのですが原因わかりますか?

原因は「バグ」だと分かっているのでは?

どんなOSかも分かりませんし、どんなプログラムで、何をしたときに現象が起きるのかもさっぱりわかりませんので、それ以上のことはいえませんね。

Re:無題

Posted: 2009年1月15日(木) 14:21
by giro
OSはXPです。
シューティングゲームを作っているのですが敵に弾を撃たせたり、
敵を倒したときにOSがよく落ちる気がします。
おそらく変数の宣言等にバグがあるのだろうと思ったのですが、なかなか見つけることができず困っています。
宣言等にミスがありOSの再起動がかかることってあるのでしょうか?

Re:無題

Posted: 2009年1月15日(木) 14:30
by Mist
たぶんポインタの制御が間違っていてアプリケーションが通常書き換えてはならんようなメモリを書き換えてしまっているのだと思いますが。

Re:無題

Posted: 2009年1月15日(木) 14:41
by 通りすがり
コンパイラは何ですか?
・・・ってかこうやって何度も聞き返さないといけなくなるので規約を読んで、
ちゃんと必要なことを書くようにして下さい。

Re:無題

Posted: 2009年1月15日(木) 16:08
by 御津凪
一応似たような症状が以前起きたことがあったので情報としてここに書いておきます。

私の場合はテスト的にDirect3Dで3D表示をするプログラムを組んでいたときで、
カメラの座標が向いてはいけない方向(カメラ位置と注視点が重なった時)に向いた瞬間、
ブルースクリーンが出て落ちました。

恐らくGPU内で0除算したのが原因だと思います。
(多少古いグラフィックボードだったのでそう考えています)

比較的新しいOSならばアプリケーションのバグで簡単にOSが落ちることは無いはずなので、
プログラムがアクセスしているハードに問題があるかもしれません。

何はともあれ、

・パソコンの環境
・コンパイラやライブラリは何を使用しているか
・どういうところで落ちているのか

を、詳しく書いていただけるとより早く解決できるかと思います。

Re:無題

Posted: 2009年1月15日(木) 17:39
by giro
申し訳ございませんちゃんと利用規約を読んできました。
とりあえずテンプレで詳しく書いて見ます。
[1] 質問文
 [1.1] 自分が今行いたい事は何か
     シューティングゲームがきちん動くようにしたい。
 [1.2] どのように取り組んだか(プログラムコードがある場合記載)
     龍神録プログラミングの館を基本に少し自分でアレンジを加えて作っています。
     今、40章のアイテムを出現させたところです。
 [1.3] どのようなエラーやトラブルで困っているか(エラーメッセージが解る場合は記載)
     いきなりOSが再起動されます。再起動がなぜか起こらないPCもあり、初めてPCを変えたところでバグが見つかりました。再起動が起こるタイミングとしては、敵が弾を大量に出している状態の時がほとんどです。
 [1.4] 今何がわからないのか、知りたいのか
  今再起動している原因はプログラムによるものなのか、ハードによるものなのか。
     また、プログラムにあるとすればその原因と思われる箇所
[2] 環境  
 [2.1] OS : WindowsXP 
 [2.2] コンパイラ名 : VC++ 2008EE
[3] その他
 ・どの程度C言語を理解しているか
    C言語を扱うのは初めてで勉強しつつ作成している段階です。
 ・ライブラリを使っている場合は何を使っているか
    DXライブラリを使用しています


ハードについては、学校のもので私自身PCに詳しくないのでなのでよくわかりません
どうかよろしくお願いします。

Re:無題

Posted: 2009年1月15日(木) 18:26
by Dixq (管理人)
回答じゃなくて申し訳ないのですが、私もそのようなことがありました。
龍神録公開前に、あらゆるパソコンで動作チェックをしました。

・自分のメインパソコン
・サブノート
・モバイル
・友達のPC
・親のPC
・研究室のPC
・ネットカフェのPC ・・・・

不具合無く動作しました。何人かに動作確認協力してもらいましたが、特に問題ありませんでした。

しかし、何故か大学のコンピュータ室にあるパソコンで動作させた時だけ、弾が大量に出てきた時OSが落ちます。
龍神録のコードに何か問題があるのかもしれませんが、弾の計算関係を見直しても特に間違いのありそうな部分は見つからず、原因が良く解りませんでした。

そのPCはコンパイラが入っていなかったので無理でしたが、もしコンパイラが入っているならデバッグしてみてはどうでしょう?

Vc++ならF5を押してコンパイル、実行すればデバッグになります。
もし突然落ちてどうしようもないのなら、何度もやってどこで落ちるのかもっと調べて限定出来ないかやってみてはどうでしょう。

後、グラフィックカードのドライバの更新をしてみると何か改善するかもしれません。

Re:無題

Posted: 2009年1月15日(木) 18:52
by toyo
XPでいきなり再起動するのはハード(RAMやグラフィックカード)の不具合の可能性高いと思います

Re:無題

Posted: 2009年1月15日(木) 19:44
by Mist
>  今再起動している原因はプログラムによるものなのか、ハードによるものなのか。
>     また、プログラムにあるとすればその原因と思われる箇所

これらを解決するためには原因を発生させることができる環境と全く同じものがないと調べようがありませんので、このような掲示板での解決はほぼ無理と思ったほうがいいです。
せめてプロジェクト一式を提示してもらえるなら「私のPCでは発生した・しなかった」程度の回答であればできるとは思いますが。

管理人さんの回答による
> 後、グラフィックカードのドライバの更新をしてみると何か改善するかもしれません。
これぐらいが限界かと思います。

Re:無題

Posted: 2009年1月15日(木) 21:20
by giro
私のようなc言語初心者の質問でも真面目に回答していただき本当に感謝です。
私も他の環境ではどうかと考え、さらに2台のPCで試してみたのですがきちんと起動しました。
なので、おそらく管理人さんと同じ原因ではないかと考え、龍神録プログラミングの館のプロジェクトをそのままで敵の出現のみを多くした場合で試したのですがやはり私のプロジェクトと同じ結果になりました。
これらのことよりおそらくハード面での問題だと思います。
これから学校とかけあい、皆さんのおっしゃるグラフィックカードのドライバをどうにかしていきたいと思います。皆さん本当にありがとうございます。
また、私の起動できない環境ではVC++が入っていたのでデバックモードも試してみたのですが突然落ちてしまい、また原因が絞れないかとしたのですがどのタイミングで起こるかが全くランダムだったため断念してしまいました。