액세스 위반이 발생합니다. 디버깅을 제대로 수행 할 수 없습니다.CrtDebug Stackoverflow?
CRT 호출 _CrtCheckMemory
안에 재귀 오류가 발생하는 것 같습니다.
다음은 호출 스택 (하단 -> 상단)입니다. 여기서 ...
은 반복 된 메시지를 제거한 것입니다.
msvcr100d.dll!__chkstk() Unknown
msvcr100d.dll!_VCrtDbgReportA(int nRptType, const char * szFile, int nLine, const char * szModule, const char * szFormat, char * arglist) Line 252 C
msvcr100d.dll!_CrtDbgReportV(int nRptType, const char * szFile, int nLine, const char * szModule, const char * szFormat, char * arglist) Line 242 C
msvcr100d.dll!_CrtDbgReport(int nRptType, const char * szFile, int nLine, const char * szModule, const char * szFormat, ...) Line 258 C
msvcr100d.dll!_CrtCheckMemory() Line 1817 C++
msvcr100d.dll!_heap_alloc_dbg_impl(unsigned __int64 nSize, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 383 C++
msvcr100d.dll!_nh_malloc_dbg_impl(unsigned __int64 nSize, int nhFlag, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 239 C++
msvcr100d.dll!_calloc_dbg_impl(unsigned __int64 nNum, unsigned __int64 nSize, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 601 C++
msvcr100d.dll!_getptd_noexit() Line 470 C
msvcr100d.dll!_XcptFilter(unsigned long xcptnum, _EXCEPTION_POINTERS * pxcptinfoptrs) Line 202 C
msvcr100d.dll!_callthreadstartex$filt$0() Line 316 C
msvcr100d.dll!__C_specific_handler(_EXCEPTION_RECORD * ExceptionRecord, void * EstablisherFrame, _CONTEXT * ContextRecord, _DISPATCHER_CONTEXT * DispatcherContext) C
ntdll.dll!0000000077989d0d() Unknown
ntdll.dll!00000000779791af() Unknown
ntdll.dll!00000000779b1278() Unknown
msvcr100d.dll!__chkstk() Unknown
...
msvcr100d.dll!_VCrtDbgReportA(int nRptType, const char * szFile, int nLine, const char * szModule, const char * szFormat, char * arglist) Line 298 C
msvcr100d.dll!_CrtDbgReportV(int nRptType, const char * szFile, int nLine, const char * szModule, const char * szFormat, char * arglist) Line 242 C
msvcr100d.dll!_CrtDbgReport(int nRptType, const char * szFile, int nLine, const char * szModule, const char * szFormat, ...) Line 258 C
msvcr100d.dll!_CrtCheckMemory() Line 1817 C++
msvcr100d.dll!_heap_alloc_dbg_impl(unsigned __int64 nSize, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 383 C++
msvcr100d.dll!_nh_malloc_dbg_impl(unsigned __int64 nSize, int nhFlag, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 239 C++
msvcr100d.dll!_calloc_dbg_impl(unsigned __int64 nNum, unsigned __int64 nSize, int nBlockUse, const char * szFileName, int nLine, int * errno_tmp) Line 601 C++
msvcr100d.dll!_getptd_noexit() Line 470 C
msvcr100d.dll!_errno() Line 280 C
msvcr100d.dll!_VCrtDbgReportA(int nRptType, const char * szFile, int nLine, const char * szModule, const char * szFormat, char * arglist) Line 298 C
msvcr100d.dll!_CrtDbgReportV(int nRptType, const char * szFile, int nLine, const char * szModule, const char * szFormat, char * arglist) Line 242 C
msvcr100d.dll!_CrtDbgReport(int nRptType, const char * szFile, int nLine, const char * szModule, const char * szFormat, ...) Line 258 C
msvcr100d.dll!_CrtCheckMemory() Line 1817 C++
msvcr100d.dll!_free_dbg_nolock(void * pUserData, int nBlockUse) Line 1288 C++
msvcr100d.dll!_free_dbg(void * pUserData, int nBlockUse) Line 1265 C++
msvcr100d.dll!_freefls(void * data) Line 622 C
msvcr100d.dll!_freeptd(_tiddata * ptd) Line 683 C
msvcr100d.dll!_endthreadex(unsigned int retcode) Line 365 C
msvcr100d.dll!_callthreadstartex() Line 315 C
msvcr100d.dll!_threadstartex(void * ptd) Line 297 C
kernel32.dll!000000007729652d() Unknown
ntdll.dll!000000007798c521() Unknown
어떤 문제가 발생했는지, 디버깅 방법에 대한 조언이 있습니까?
appverifier를 실행하고 전체 페이지 힙을 사용하도록 설정했는데 일부 작업에서 Visual Studio 디버거가 작동하지 않습니다. 그러나이 특정 충돌이 발생할 때마다 (게시 한 것 이외의) 어떤 것도 손상시키지 않습니다. 제안? – ronag
디버거가 깨는 "약간의 문제"는 할당 후 전체 페이지 힙이 차지하는 잘못된 페이지에 액세스하는 코드 일 수 있습니다. –