_CRT_DEBUGGER_HOOK throws exception

2019-05-02 21:55发布

问题:

I'm having a problem converting my program from VS2005 to VS2008. When I run the program in VS2008, the application starts up fine but when start playing around with the application it crashes giving me this error:

"Microsoft Visual Studio C Runtime Library has detected a fatal error"

And then the debugger points me to this function:

__declspec(noinline)
void __cdecl _CRT_DEBUGGER_HOOK(int _Reserved)
{
/* assign 0 to _debugger_hook_dummy so that the function is not folded
in retail */
(_Reserved);
_debugger_hook_dummy = 0;
}

compiling the application ase release works prefectly...

By the way, this is a native code calling a managed c++ code that wrapps .NET code.

How can I debug such situation ?

Ofer

回答1:

Make sure all of your dependencies are also compiled with VS2008 debug.

I experienced this same issue when compiling a program in VS2008-debug, and some of the dependent DLLs where compiled in VS2003, and also when compiling a program in VS2008-debug and some of the dependencies where compiled as release.