应用程序退出期间调试崩溃(WPF)

时间:2016-04-22 11:33:16

标签: wpf visual-studio-2015 visual-studio-debugging

我正在试图找出为什么WPF应用程序在关闭它时不会立即退出。使用Process Explorer我发现WerFault.exe在退出时启动,这似乎表明在拆解过程中出现了崩溃的事情,可能是某些析构函数或者处理失败。当我最近切换到VS2015时,这种情况就开始发生了。我正在运行Windows 8。

我的问题是:我怎样才能找出真正的问题是什么?有没有找到WerFault.exe崩溃日志的方法?我有数百个析构函数和dispose-methods,所以在所有这些中都设置断点有点困难。在VS中捕获这些错误的任何其他方式?

退出代码为-1073740791,“表示执行软件中导致堆栈溢出的错误,导致软件异常终止”。但在哪里?

事件日志中的更多信息:

错误模块名称:ucrtbase.DLL,版本:10.0.10240.16390,时间戳:0x55a5b718

异常代码:0xc0000409

故障偏移:0x0000000000065a4e

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以尝试启用user mode dumps

  1. 创建注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
  2. LocalDumps内,创建一个名为可执行文件的密钥
  3. 在您刚创建的密钥中,根据需要设置DumpFolderDumpCountDumpTypeCustomDumpFlags的值(您应该设置DumpType到2为完全转储,否则我认为不会捕获足够的信息来调试托管转储。)
  4. 完成此操作后,只要您的可执行文件崩溃,就会在DumpFolder指定的文件夹中创建转储文件(默认情况下为%LOCALAPPDATA%\CrashDumps)。