简体   繁体   English

文件打开对话框崩溃

[英]File Open Dialog Crash

I have run into weird crash in my application, caused by the file open dialog.由于文件打开对话框,我在我的应用程序中遇到了奇怪的崩溃。

The application is written in C++ (Visual Studio 13 with latest patches) and calls the Win32 API directly and is running on Windows 10.该应用程序使用 C++(带有最新补丁的 Visual Studio 13)编写并直接调用 Win32 API 并在 Windows 10 上运行。

To crash the application, I just bring up the file open dialog (which opens to the d: drive), move to the top folder entry field and type in C (planning to change to the c: drive) and that causes this unhandled exception error.要使应用程序崩溃,我只需打开文件打开对话框(打开到 d: 驱动器),移至顶部文件夹条目字段并输入 C(计划更改为 c: 驱动器),这会导致此未处理的异常错误。

Unhandled exception at 0x5BAA7527 (ieframe.dll) in app.exe: 0xC00000FD: 
Stack overflow (parameters: 0x00000000, 0x05132000).

That unhandled exception then kills the application.该未处理的异常然后终止应用程序。

If I run the same application inside the debugger in release mode I get the same exception inside the debugger:如果我在发布模式下在调试器中运行相同的应用程序,我会在调试器中得到相同的异常:

调试器崩溃

The debugger displays no call stack since the crash is actually deep inside Windows (ie inside ieframe.dll).调试器不显示调用堆栈,因为崩溃实际上是在 Windows 内部(即在 ieframe.dll 内部)。

But if I hit Continue the application runs just fine and displays this as a tool tip in the file open dialog.但是如果我点击继续,应用程序运行得很好,并在文件打开对话框中显示为工具提示。

文件打开对话框

Also if, I now redo the file open a second time, now there is no exception.另外,如果我现在重新打开第二次文件,现在也不例外。

Finally if I run the code in debug mode I get no exception at all.最后,如果我在调试模式下运行代码,我完全没有例外。

So it looks like because the debugger caught the exception my application did not crash where as running outside the debugger the uncaught exception kills the application.所以看起来是因为调试器捕获了异常,我的应用程序没有崩溃,因为在调试器之外运行,未捕获的异常会杀死应用程序。

Also it looks like some option specific to the release build might be causing the crash as the debug version does not have the error.此外,看起来某些特定于发布版本的选项可能会导致崩溃,因为调试版本没有错误。

Any ideas?有任何想法吗?

It turns out this was an issue with the release build settings.事实证明这是发布版本设置的问题。 In particular it was related to the stack linker settings.特别是它与堆栈链接器设置有关。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM