基本上,我正在开发一个将由第三方软件使用的DLL(开放接口)。我想在我的第三方DLL加载后调试我的DLL,因为我发现了一个特定的错误,只有在我的DLL被这个第三方软件加载时才会发生(我的DLL对接受这个开放接口的所有其他软件都可以正常工作)< / p>
我在代码DLL中设置__debugbreak()并运行第三方软件。一个Visual Studio对话框确实跳起来询问我是否要调试..但是在我单击OK之后,而不是进入一个可视工作室窗口,显示我设置断点的代码行,visual studio只是崩溃。
我发现第三方软件加载我的DLL并在另一个线程中运行它。我怀疑这就是第三方软件崩溃的原因,因为有效的__debugbreak()会在主线程启动的线程中抛出一个未被捕获的execption。
在这种情况下,我该如何调试我的DLL?
答案 0 :(得分:0)
令人遗憾的是,VS崩溃了,但你可能会找到解决方法。
最好立即开始调试会话。或者在消息框或其他输入上阻止进程时使用“附加到进程”。也更好地使用断点。
使用__debugbreak()或强制访问冲突尝试询问VS的新实例而不是现有实例。