4 つの関数を使用してサード パーティの C DLL にアクセスするMCVC++ 2010
MFC プロジェクトがあります。Visual Studio 2010 の Win32 プロジェクトで DLL が正常に動作するようになりました。
"Microsoft Visual Studio C Runtime Library has detected a fatal error"
このDLLから関数にアクセスしようとした瞬間。コール スタックや出力コンソールに有益な情報が表示されません。関数呼び出しの直後、コントロールは debughook.c の最後に到達します。_debugger_hook_dummy = 0;
dbghook.c
int __cdecl _CrtDefaultAllocHook(int nAllocType,void * pvData, size_t nSize,int nBlockUse, long lRequest,const unsigned char * szFileName, int nLine )
{
return 1; /* allow all allocs/reallocs/frees */
}
#endif /* _DEBUG */
int _debugger_hook_dummy;
#ifdef _M_IA64
#undef _CRT_DEBUGGER_HOOK
#define _CRT_DEBUGGER_HOOK __crt_debugger_hook
#endif /* _M_IA64 */
__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;
}
コードは で囲まれていますがtry-catch
、ステップインしようとすると、コントロールが catch ブロックに到達しません。問題がどこにあるかの明確な指標はありません。ポインタはありますか?