异常处理无法正常工作,未调用OnExceptionInMainLoop

时间:2013-10-10 15:24:20

标签: mingw wxwidgets

我使用当前版本的mingw / msys(gcc 4.8.1)更新了构建wxWidgets2.8.12的环境

我使用configure脚本构建wx-widgets:

./configure --prefix=/wx  --with-opengl --enable-debug --enable-debug_gdb --enable-unicode

我的应用程序依赖于在我的wxApp::OnExceptionInMainLoop子类中使用wxApp处理一些异常。 使用mingw gcc 3.4.5和wxWidgets2.8.7(由wxPack预先构建)可以正常工作

使用新的构建wxWidgets库,无论何时抛出异常并且没有直接捕获该程序,程序都会显示“Microsoft Visual C ++运行时库”窗口,并以代码3退出

wxWidgets 2.8.12(wxWidgets-2.8.12\samples\except)提供的例外显示同样的错误行为

我尝试了不同版本的wxWidgets(静态,发布,单片),结果相同。

mingw中的基本跨库异常支持似乎没问题,我使用这个简短的测试验证了这一点test

我会非常感谢任何有用的提示, 或者即使有人可以验证我的问题(只需在您的安装中构建“除”样本,然后选择Throw unhandled exception

1 个答案:

答案 0 :(得分:0)

您需要使用SJLJ(而不是Dwarf)版本的编译器才能从Windows消息处理程序正确传播异常,因此我认为您的问题仅仅是由于使用了错误的版本。