Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Exception MFC应用程序异常处理异常行为_Exception_Mfc_Crash_Report_Try Catch - Fatal编程技术网

Exception MFC应用程序异常处理异常行为

Exception MFC应用程序异常处理异常行为,exception,mfc,crash,report,try-catch,Exception,Mfc,Crash,Report,Try Catch,我有一个64位MFC应用程序,在其中我使用崩溃报告。该方法基于本文: 所以我在AfxWinMain周围有一个uuu try-uu,除了包装器框架。 去年,它似乎工作得很好(我的意思是在不同的操作系统上,以及在32位和64位应用程序上)。 让我们以提供代码部分为例: void CMyDig::Foo() { std::vector<int> v; int i = v.at(42); } void CMyDig::Foo() {

我有一个64位MFC应用程序,在其中我使用崩溃报告。该方法基于本文: 所以我在
AfxWinMain
周围有一个uuu try-uu,除了包装器框架。 去年,它似乎工作得很好(我的意思是在不同的操作系统上,以及在32位和64位应用程序上)。 让我们以提供代码部分为例:

    void CMyDig::Foo()
    {
        std::vector<int> v;
        int i = v.at(42);
    }
void CMyDig::Foo()
{
std::向量v;
int i=v.at(42);
}
当我在对话框的消息处理程序(例如一个名为Foo的按钮的clickhandler)中编写此代码时,
AfxWinMain
中不会捕获异常。 如果我将其写入全局函数,它会将异常传递给
AfxWinMain
。 现在我们有一个奇怪的问题: 在某些计算机上,对话框的情况也会生成崩溃报告(在afxwinmain中输入_除外块),但其他计算机则不会。我设法在win7 64位上创建了一个崩溃报告,但在win8、win8.1和另一个win7 64位上的相同程序不会生成报告! 我用VS2010编译,在代码生成选项中,“启用C++异常”被设置为EHsc(如去年,当它工作正常)。 谢谢你的建议!
阿提拉(Attila)

仅仅定义以创建碰撞报告并不容易

在这种情况下,除了块之外,您不需要这样的_try/__

WNDPROC有自己的uuuu尝试uuuu,除了块之外,并且一些异常由它们自己处理。 但无论如何。我从来没有遇到过异常过滤器的问题。
我的例程通常创建一个崩溃转储(minidump)并终止。我一直觉得这些简单的信息永远不足以让我们的技术人员发现问题。

谢谢!你指出了正确的方法,这似乎对我有用!我也使用了这个指南: