Members - Reputation: 181
Posted 09 June 2012 - 08:13 AM
I'm running into trouble debugging my application, when i run it, it's fine, but when i use the visual studio graphics debugger or PIX, it breaks on swap chain's present call, with the following error in VS:
"Unhandled exception at 0x6249D61F (d2d1.dll) in HasX11 Engine.exe: 0xC0000005: Access violation reading location 0x00000000."
and PIX gives the following:
"Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention."
I'm not sure what is the problem, i'm not using d2d at all, not even included, yet the error is in d2d1.dll, also - when i attach VS11 debugger for PIX it breaks on present too.
I am running windows 8 consumer preview, with visual studio 11 beta, i had directX SDK june 2010 installed, is it causing conflicts? i tried to rename the install directory of the sdk to make sure it's not linking with it (since i realized windows 8 has the libs and headers built in) but with the same result, i dont really feel like uninstalling the dxsdk just to make sure since i lost its installer, could there be something else causing this?
also note that it happens with both dirext3D 11 and 11.1.
Thank you for your time,
Crossbones+ - Reputation: 2550
Posted 09 June 2012 - 08:26 AM
Software Engineer - Skybox Labs
Crossbones+ - Reputation: 5573
Posted 09 June 2012 - 09:36 AM
Running in the debugger will perform some extra checks that not doing so won't, so that can explain why you're not seeing it outside of a debugger. I wouldn't worry too much about the D2D part - it's possible that the architecture has changed for the new versions (e.g. the swap chain might now call into D2D for Present ops owing to a consolidation of code) - this is just speculation on my part though, but I wouldn't consider it too far-fetched.
Finally, you're using pre-release software so it's equally possible that you've just encountered a bug, which should be normal and expected behaviour with pre-release software.
Edited by mhagain, 09 June 2012 - 09:43 AM.
It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.