MSVS 2010에서 프로젝트를 디버깅하려고합니다. 구현 - C++; 내가 소스 코드 degubbing 오전, 나는 MSVS에 의해보고 된 다음과 같은 오류가 발생합니다.액세스 voilation 독서 위치
실패보고 :
"First chance exception at 0x00000013fb5b9ee in unit.exe: 0xc00000005 access voilation reading location 0x00000000000000c."
문제가 주소를 얻기에있다. 폴 (C1)에 연결된 송신기 핀 모듈이다 - :
int base = (*(abc::g_runc1.m_paulsenderpin.m_lastchunk_p)).xcpp::cxcppoutput::m_baseaddress;
내 프로젝트는 소스 코드 단편에서
이 같이 표현을 포함하는 매우 크다. - xcpp는 인터페이스
이 소스 코드와 프로젝트는 정확하며 ARM 컴파일러에서는 오류없이 작동하지만 MSVS에서는 액세스 위반 오류가 발생합니다. msdn에는 어셈블리에 의해 설정된 사용 권한에 관한 게시물이 있으며 주소가 지정된 위치를 읽지 않습니다. 그렇다면 그것을 바꾸는 방법 ...? 또는 문제를 찾는 데 더 좋은 옵션이 있습니까?
도움을 주시면 감사하겠습니다.
'abc :: g_runc1.m_paulsenderpin.m_lastchunk_p '란 무엇입니까? 어떻게 선언됩니까? 그것이 포인터라면, 그것이 'NULL'이 아닌지 확인합니까? –
abc :: g_runc1.m_paulsenderpin.m_lastchunk_p = 0x00000000000 paulsenderpin 구조체 {pinbase, m_currentchunk, m_lastchunk, ....}. 메모리는 송신자 핀, 메모리 블록 1024 바이트에 대해 폴에 할당됩니다. 그 외에도 폴, 폴리, 라울 등 8 개의 핀이 있습니다 ..... 폴을 제외한 모든 플랫폼의베이스 주소는 같은 방식으로 해제되며 메모리 음성 오류가 없습니다. 오직 paul만이 어디서나이 문제를 가지고 있습니다. 및 MSVS가 예외를 throw하지만 ARM에서는 예외가 발생합니다. –
0 일 경우 NULL이라는 의미이며 일반적으로 불법 주소입니다. –