C++ Visual Studio调试断言失败对话框无响应

C++ Visual Studio调试断言失败对话框无响应,c++,visual-studio-2015,visual-studio-debugging,C++,Visual Studio 2015,Visual Studio Debugging,调试本机win32应用程序时,某些未经处理的异常(更具体地说,是Windowsatlcomcli.h中失败的断言)会导致“未经处理的异常”对话框(在该对话框中,您可以中止,继续(在visual studio中调试异常)或忽略)冻结和无响应-无法按下任何按钮 这意味着我无法获取调用堆栈,除此之外,我必须强制终止VisualStudio,因此我无法在调试崩溃的地方获得任何帮助 它可以很好地处理大多数其他抛出的未处理异常 这是为什么?一种解决方法是,您可以收集崩溃/冻结问题的小型转储文件,调试崩溃转储

调试本机win32应用程序时,某些未经处理的异常(更具体地说,是Windows
atlcomcli.h
中失败的断言)会导致“未经处理的异常”对话框(在该对话框中,您可以中止继续(在visual studio中调试异常)或忽略)冻结和无响应-无法按下任何按钮

这意味着我无法获取调用堆栈,除此之外,我必须强制终止VisualStudio,因此我无法在调试崩溃的地方获得任何帮助

它可以很好地处理大多数其他抛出的未处理异常


这是为什么?

一种解决方法是,您可以收集崩溃/冻结问题的小型转储文件,调试崩溃转储文件,并找到更多有用的信息:


如果有一些代码可以重现问题,那会很有帮助。您在多台计算机上见过这种情况吗?特定操作系统?Visual Studio版本?在Windows代码打开对话框之前,是否尝试在其中放置断点?是否尝试使用键盘导航断言对话框?特别是在拖放实现中,调试断言对话框不接收任何鼠标输入的情况并不少见。同样,如果您可以编写一个进行适当调用的非常小的程序,其他人可能非常愿意尝试这种方法。