我正在试图找出为什么WPF应用程序在关闭它时不会立即退出。使用Process Explorer我发现WerFault.exe在退出时启动,这似乎表明在拆解过程中出现了崩溃的事情,可能是某些析构函数或者处理失败。当我最近切换到VS2015时,这种情况就开始发生了。我正在运行Windows 8。
我的问题是:我怎样才能找出真正的问题是什么?有没有找到WerFault.exe崩溃日志的方法?我有数百个析构函数和dispose-methods,所以在所有这些中都设置断点有点困难。在VS中捕获这些错误的任何其他方式?
退出代码为-1073740791,“表示执行软件中导致堆栈溢出的错误,导致软件异常终止”。但在哪里?
事件日志中的更多信息:
错误模块名称:ucrtbase.DLL,版本:10.0.10240.16390,时间戳:0x55a5b718
异常代码:0xc0000409
故障偏移:0x0000000000065a4e
答案 0 :(得分:0)
您可以尝试启用user mode dumps:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
LocalDumps
内,创建一个名为可执行文件的密钥DumpFolder
,DumpCount
,DumpType
和CustomDumpFlags
的值(您应该设置DumpType
到2为完全转储,否则我认为不会捕获足够的信息来调试托管转储。)完成此操作后,只要您的可执行文件崩溃,就会在DumpFolder
指定的文件夹中创建转储文件(默认情况下为%LOCALAPPDATA%\CrashDumps
)。