C ++ Unhandled Exception - How to Debug

I had a problem when starting a test test in debug mode: I get a pop-up window with the message "Unhandled exception in 0x7c812fd3 in Test.exe: 0xE0000003: 0xe0000003.". The code breaks into free.c:

void __cdecl _free_base (void * pBlock) { int retval = 0; if (pBlock == NULL) return; RTCCALLBACK(_RTC_Free_hook, (pBlock, 0)); retval = HeapFree(_crtheap, 0, pBlock); if (retval == 0) { errno = _get_errno_from_oserr(GetLastError()); } } 

in the line "retval = ..." with _crtheap = 0x00df0000 and pBlock = 0x967c93d3. The call stack is divided into "kernel32.dll! 7c812fd3 ()" and another entry is further in the call stack: "> msvcr100d.dll! _Free_base (void * pBlock = 0x967c93d3) String 50 + 0x13 bytes."

I have quite a few problems googled, and the problem may arise in freeing up memory at different times. Despite this vague and dirty description, can anyone give a hint how to find the problem? and perhaps how to fix it?

What is a little strange to me is that I do not experience this when running the test in release mode ...

Regards, Sven

+6
source share
1 answer

Have you tried running these test windows under the visual studio debugger? The debugger should catch this exception, and you can check the call stack and find where the problem is.

-2
source

Source: https://habr.com/ru/post/944058/


All Articles