C++ C++;Win32异常上的崩溃转储、堆栈展开(当使用catch(…)时)-VS 2003
与即时调试一样,VS 2003编译的应用程序是否在catch(…)中捕获Win32(或异步)异常并展开堆栈?在写入转储文件之前…否,调试器调用是在从异常向上运行堆栈的代码中创建的,因此堆栈尚未展开。对于同步(C++)和异步(OS)异常都是如此 请参阅著名的MSJ文章中的C++ C++;Win32异常上的崩溃转储、堆栈展开(当使用catch(…)时)-VS 2003,c++,windows,exception,dump,C++,Windows,Exception,Dump,与即时调试一样,VS 2003编译的应用程序是否在catch(…)中捕获Win32(或异步)异常并展开堆栈?在写入转储文件之前…否,调试器调用是在从异常向上运行堆栈的代码中创建的,因此堆栈尚未展开。对于同步(C++)和异步(OS)异常都是如此 请参阅著名的MSJ文章中的 如果没有允许的筛选器愿意处理异常,则在第一次通过异常筛选器列表后调用未处理的异常筛选器。第一次放卷在第二次放卷之前。如果在有机会的情况下闯入调试器,您会发现异常会出现在堆栈中,这非常有意义:调试已经解开的堆栈几乎没有任何价值,您
如果没有允许的筛选器愿意处理异常,则在第一次通过异常筛选器列表后调用未处理的异常筛选器。第一次放卷在第二次放卷之前。如果在有机会的情况下闯入调试器,您会发现异常会出现在堆栈中,这非常有意义:调试已经解开的堆栈几乎没有任何价值,您将不知道出了什么问题 否,调试器调用是在从异常向上运行堆栈的代码中创建的,因此堆栈尚未展开。对于同步(C++)和异步(OS)异常都是如此 请参阅著名的MSJ文章中的 如果没有允许的筛选器愿意处理异常,则在第一次通过异常筛选器列表后调用未处理的异常筛选器。第一次放卷在第二次放卷之前。如果在有机会的情况下闯入调试器,您会发现异常会出现在堆栈中,这非常有意义:调试已经解开的堆栈几乎没有任何价值,您将不知道出了什么问题 这取决于编译应用程序时的选择 可以指示编译器捕获或不捕获代码的SEH异常。 启动代码总是捕获C++和SEH异常,如果捕获到任何异常,则终止应用程序。 < P>这取决于编译应用程序时的选择。 可以指示编译器捕获或不捕获代码的SEH异常。 启动代码总是捕获C++和SEH异常,如果发现任何异常,它就终止应用程序。我指的是Windows开发人员的注释“程序错误”,“我刚才提到的是Windows开发人员的注释‘程序员错误’什么的?”