Search code examples
c++visual-studio-2008heap-corruption

How to debug/fix an access violation (Heap Corruption)


My app crashes (repeatably) after I have moved from VS2005 to VS2008 (win32).

If I step in the debugger, I get:

Access violation reading location 0x00000014

Firstly, I see that the class object at the crash line, has a NULL _vptr. But some other objects of the same class have non-NULL _vprt :)

Secondly, if I change the order of the member object declarations, the crash moves to some other line.

So I guess this must be a corrupt heap problem.

Do you agree? if yes, could the number of allocations in the stack such as "char buffer[8192]" be a problem?

I have tried purify, application verifier without luck. My app is a plugin (dll) living in a proprietary application. I can only attach with a debugger.

Thanks in advance,

Paul


Solution

  • This turned out to be an issue related to preprocessor defines being different between my app and some of its dependencies (libs).