• 締切済み

C++でのアクセス違反

WindowsXP、VisualC++6.0でのプログラムです。 C側からロードするDLL(自分で作成)のあるaddress(いつも同じ)で たまに、アクセス違反となりMicrosoft送信メッセージが出てプログラムが閉じます。 頻度は、1ヶ月に1回程度です。 よく起こる号機とそうでない号機が存在します。 あるアドレスのエラー個所は、「変数=x;」 という文です。 エラーが起こった場合は、変数の配列の添え字が配列の次元を越える数値は 入らないようにしているのに、想定外の値となっているようです。 このような経験があった方は、どういうふうに解決されているのか教えてください。

みんなの回答

  • zwi
  • ベストアンサー率56% (730/1282)
回答No.1

そういうのはだいたい他の部分での配列範囲外アクセスやポインタの操作ミスです。つまり、その変数を操作していない処で書き換えていることになります。 VC++のデータブレークポイントを使えばキャッチ可能です。まぁ、再現性を高めないとデバッグ起動で気長に待つことになりますけどね。 「ブレークポイント詳細 [VC++の使い方]」 http://www.nitoyon.com/vc/tutorial/debug/breakpoint.htm

aki2004-09-08
質問者

お礼

回答ありがとうございました。

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

関連するQ&A