C++ 文件打开对话框崩溃
我在我的应用程序中遇到了奇怪的崩溃,原因是文件打开对话框C++ 文件打开对话框崩溃,c++,winapi,exception,C++,Winapi,Exception,我在我的应用程序中遇到了奇怪的崩溃,原因是文件打开对话框 应用程序是用C++编写的(Visual Studio 13中有最新的补丁),直接调用Win32 API,运行在Windows 10上。 要使应用程序崩溃,我只需打开文件打开对话框(打开到d:drive),移动到顶部的文件夹输入字段并键入C(计划更改为C:drive),这将导致此未处理的异常错误 Unhandled exception at 0x5BAA7527 (ieframe.dll) in app.exe: 0xC00000FD:
应用程序是用C++编写的(Visual Studio 13中有最新的补丁),直接调用Win32 API,运行在Windows 10上。 要使应用程序崩溃,我只需打开文件打开对话框(打开到d:drive),移动到顶部的文件夹输入字段并键入C(计划更改为C:drive),这将导致此未处理的异常错误
Unhandled exception at 0x5BAA7527 (ieframe.dll) in app.exe: 0xC00000FD:
Stack overflow (parameters: 0x00000000, 0x05132000).
然后,该未处理的异常将终止应用程序
如果在发布模式下在调试器内运行相同的应用程序,则调试器内会出现相同的异常:
调试器不显示任何调用堆栈,因为崩溃实际上在Windows的深处(即ieframe.dll内部)
但如果我点击Continue,应用程序运行正常,并在文件打开对话框中将其显示为工具提示
另外,如果我现在再次打开文件,现在也没有例外
最后,如果我在调试模式下运行代码,我不会得到任何异常
因此,看起来好像是因为调试器捕获了异常,我的应用程序没有崩溃,因为在调试器外部运行时,未捕获的异常会杀死应用程序
此外,由于调试版本中没有错误,因此发布版本特定的某些选项可能会导致崩溃
有什么想法吗?原来这是发布版本设置的问题。特别是它与堆栈链接器设置有关。作为“深入Windows”并不阻止显示调用堆栈。您甚至可以通过使用@ReazMurshed来获得符号信息。此答案中没有一个链接。请仔细复习。