2013-06-18 19 views
6

VC++コンソールアプリケーションで作業中です。VC++の例外エラーc0000005

このアプリケーションは、ある期間、Appdata \ Roamingフォルダからファイルを送信します。 ISはこのクラッシュエラーを取得しています何が起こる

Problem signature: 
Problem Event Name: APPCRASH 
Application Name: App.exe 
Application Version: 1.0.0.2 
Application Timestamp: 51c02fa8 
Fault Module Name: PCMeter.exe 
Fault Module Version: 1.0.0.2 
Fault Module Timestamp: 51c02fa8 
Exception Code: c0000005 
Exception Offset: 000069eb 
OS Version: 6.1.7601.2.1.0.256.48 
Locale ID: 1033 
Additional Information 1: 0a9e 
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 
Additional Information 3: 0a9e 
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789 

誰もがこの問題に

+3

来てください。私たちはこのサイトの神ではありません。もう少し手がかりが必要です。 – Bathsheba

+3

'c0000005'はアクセス違反のコードです。これを修正するのに有効ではないメモリの参照を停止する必要があります。 –

+0

ありがとう、char txt [10000]を使用してxmlファイル全体を読み取り、CString値に渡してサーバーに保存していますか?これはメモリ違反ですか? – user1465461

答えて

24

例外コードc0000005を解決するために私を助けてもらえますが、アクセス違反のコードです。これは、あなたのプログラムが権利を持っていないメモリアドレスにアクセスしている(読み書きしている)ことを意味します。最も一般的には、次の原因で発生します。

  • 無効なポインタへのアクセス。これは、既に割り振り解除されているメモリーにアクセスしていることです。このようなポインタの古いアクセスは、必ずしもアクセス違反とはならないことに注意してください。メモリマネージャがメモリをシステムに返した場合のみ、アクセス違反が発生します。
  • 配列の終わりを読み込みます。これは、長さがNで、インデックスが>=Nの要素にアクセスするときです。

問題を解決するには、デバッグを行う必要があります。開発マシンのデバッガで障害が発生する可能性がない場合は、クラッシュダンプファイルを取得してデバッガにロードする必要があります。これにより、コード内のどこに問題が発生しているのかを知ることができ、うまくいけばソリューションにつながります。意味のあるスタックトレースを表示するには、実行可能ファイルにデバッグシンボルを関連付ける必要があります。