• ベストアンサー

実行時のエラー

一般的な話として聞いてください。 プログラムを作って、コンパイルし、エラーもなかったのに 実行するとメモリが参照できません。 というエラーが出たとします。 みなさんなら、真っ先に確かめる、ためす、あるいは 考えることはなんですか? プログラムの中身はどうでもいいですが、必要なら、 ゲームやアプリケーション開発ではなく数学的なプログラム、 つまり、微分方程式を解くとか、全ての魔方陣を作成するとか そういうものを想定してください。

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

  • ベストアンサー
回答No.1

要所要所に assert をばら撒き、どこまで正しく動いているかを確認する。 # これで万全ではありません。対策の'ひとつ'です。

noname#108554
質問者

お礼

すばらしいじゃないですか。 こんなコマンドがあるなんて。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yuyama
  • ベストアンサー率50% (7/14)
回答No.3

最近知ったのですが、アドレスの参照はmapファイル、 codeファイルで確認できます。 VisualC++の設定で以下を設定します。 C/C++/カテゴリ:ファイルリスティング/リスティングファイルタイプ:マシン語コードとソースを含む リンク/カテゴリ:デバッグ/MAPファイルを生成する。 mapファイルに参照アドレスがほぼ一致するものがあります。 それがどのcodeファイルにあるのか書いてあるので、 codeファイルを見ます。 codeファイルにはマシン語とソースが交互に表示されているので、 ピンポイントでわかります。 たぶん。 本題に戻って、真っ先に何をするかですが、「デバッグをする」ですね。 それでもわからなければ、Purifyなどの解析ツールを使用します。

noname#108554
質問者

お礼

せっかく回答をいただいて恐縮ですが、 おっしゃっていることがさっぱり分からないです。 デバッグツールについて勉強すれば、よいのでしょうか。 分かりやすいHP・書籍をご紹介いただければ幸いです。

すると、全ての回答が全文表示されます。
  • hogeta
  • ベストアンサー率14% (4/28)
回答No.2

・配列とポインタの参照が間違ってないかチェック。 ・デバッグオプションをつけてコンパイルしてデバッガでチェック

noname#108554
質問者

お礼

デバッガの使い方がよく分からないのですが、 詳しく教えていただけますか。 当方は、VisualC++6.0です。

すると、全ての回答が全文表示されます。

関連するQ&A