我可以 [非常有用地] 通过放置 DebugBreak() 来调试我的 DLL,然后附加到我的 Visual Studio 会话。但是,该 DLL 执行 LoadLibrary() 以动态加载另一个 DLL。DLL 按预期运行,但我似乎无法正确设置断点。
当我在第二个 DLL 中放置一个 DebugBreak() 然后使用该项目附加到它时,我的 VS 会话总是跳转到支持进程管理的 Visual C++ 库中的某个点,在函数似乎已经完成执行之后:
(crt0dat.c)
无效 __cdecl __crtExitProcess ( int status ) { __crtCorExitProcess(status);
/*
* Either mscoree.dll isn't loaded,
* or CorExitProcess isn't exported from mscoree.dll,
* or CorExitProcess returned (should never happen).
* Just call ExitProcess.
*/
ExitProcess(status);
}
会发生什么?