2013-06-18 5 views
6

VC++ 콘솔 응용 프로그램에서 작업 중입니다.VC++의 예외 오류 c0000005

이 응용 프로그램은 일정 기간 동안 Appdata \ Roaming 폴더에서 파일을 보냅니다.

는이 충돌 오류가 점점 오전 무엇 발생합니다

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 인 요소에 액세스하는 경우입니다.

문제를 해결하려면 디버깅을해야합니다. 개발 기계의 디버거에서 오류가 발생하는 위치에 있지 않은 경우 크래시 덤프 파일을 가져 와서 디버거에로드해야합니다. 이렇게하면 코드에서 문제가 발생한 위치를 알 수 있고 솔루션에 당신을 인도 할 수 있습니다. 의미있는 스택 추적을 보려면 실행 파일과 관련된 디버깅 기호가 있어야합니다.