Contents

在windows平台部署完应用后,如果出现了程序崩溃的问题,我们首先需要的就是要生成一个dump文件,这样我们才能知道当时发生了什么,本文就简单总结一下如何生成Dump文件。

  1. Windbg/ADPlus的.dump命令。如果要带heap信息的话,就需要用/ma参数。

  2. Visual Studio的”Save Dump As …”命令,在弹出的保存对话框中可以选择要不要保存heap信息。

  3. 任务管理器,可以直接在对应的进程上点右键,”Create Dump File”。但是这个要注意的是如果你的系统是64位的,那么默认的任务管理就是64位的,这样就算你选中的是32位的程序,生成的dump也会使64位的。如果想生成32位的dump,需要找到32位的任务管理器。

  4. Process Explorer,和任务管理器差不多,在进程上点右键菜单,选择”Create Dump”,然后可以选择是mini dump还是full dump。

  5. 直接使用Windows的API——MiniDumpWriteDump

  6. 使用ProcDump,这个工具可以根据CPU使用情况,异常情况,程序是否没有反应,性能计数等来收集dump。

  7. 使用DebugDiag,它可以监控内存泄露,另外它自动分析dump的结果也很友好。

  8. Windows Error Reporting(WER),就是大家看到windows蓝屏后自动收集的那种dump,这个需要到微软网站上注册。

Contents