基本上,我正在开发一个第三方软件将使用的 DLL(一个开放接口)。我想在这个第三方 DLL 加载我的 DLL 后对其进行调试,因为我发现了一个特定的错误,只有当我的 DLL 被这个第三方软件加载时才会发生(我的 DLL 对于接受这个开放接口的所有其他软件都可以正常工作)
我在我的代码 DLL 中设置了 __debugbreak() 并运行第三方软件。一个 Visual Studio 对话框确实跳了出来,询问我是否要调试。但是在我单击“确定”之后,Visual Studio 没有进入显示我设置断点的代码行的 Visual Studio 窗口,而是崩溃了。
我发现第三方软件加载了我的 DLL 并在另一个线程中运行它。我怀疑这是第三方软件崩溃的原因,因为有效地 __debugbreak() 在主线程启动的线程中抛出了一个未捕获的执行。
在这种情况下,我该如何调试我的 DLL?