Debugging 在另一个DLL下的DLL中调试中断

Debugging 在另一个DLL下的DLL中调试中断,debugging,visual-c++,dll,visual-studio-debugging,Debugging,Visual C++,Dll,Visual Studio Debugging,通过放置DebugBreak(),然后连接到我的Visual Studio会话,我可以[非常有用地]调试我的DLL。但是,该DLL不使用LoadLibrary()来动态加载另一个DLL。DLL按预期运行,但我似乎无法正确设置断点 当我将Debug Gebug()放入第二个DLL中,然后使用该项目附加到它时,VS会话总是跳转到支持进程管理的VisualC++库中的某个点,在函数似乎已经完成后执行: (crt0dat.c) 无效cdecl CRTEXIT过程( 智力状态 ) { __crtCorEx

通过放置DebugBreak(),然后连接到我的Visual Studio会话,我可以[非常有用地]调试我的DLL。但是,该DLL不使用LoadLibrary()来动态加载另一个DLL。DLL按预期运行,但我似乎无法正确设置断点

当我将Debug Gebug()放入第二个DLL中,然后使用该项目附加到它时,VS会话总是跳转到支持进程管理的VisualC++库中的某个点,在函数似乎已经完成后执行:

(crt0dat.c)

无效cdecl CRTEXIT过程( 智力状态 ) { __crtCorExitProcess(状态)

}


会发生什么?

在某个时候,事情开始起作用了。事实证明,第二个DLL必须在第一个DLL的会话中进行调试,这是在长时间不工作后自动开始的。所需的只是第二个DLL中有一个DebugBreak()


我知道我曾经做过一次“全部中断”(作为其他左外野解决方案的一部分),清理了很多次,并多次重新启动了VisualStudio会话。我没有任何解释,只是建议您在LoadLibrary()之前的第一个DLL中始终有一个DebugBreak,在第二个DLL的顶部有另一个DebugBreak。在第一个DLL中省略DebugBreak()可能会破坏第二个DLL中的DebugBreak()。

这是我对问题的回答。这是相关的信息,可能有助于给有同样问题的人指明方向。谢谢,无论谁在回答中删掉了一点,都不能留下评论。
    /*
     * 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);