条件是不要在别的机器上手工进行什么设置。也就是说程序发布到客户手中后,崩溃时也可以自动生成DMP文件。

解决方案 »

  1.   

    到网上找找msjexhnd.CPP,和msjexhnd.h,加到工程中来,在程序崩溃时它会自己记录当前的堆栈信息到文件中的
      

  2.   

    http://www.codeproject.com/KB/debug/crash_report.aspx
      

  3.   

    同上,注意生成的release应用程序需要开启“生成调试信息”选项
      

  4.   

    要设置c运行库异常处理函授。这样当出错后,会引发你的异常处理,你的处理中,可以直接丢掉或重新启动你的exe,或写入log文件。
      

  5.   

    编译release版本的时候同时生成map文件,具体可以在网上查找一下关于map文件的使用方法。
      

  6.   

    SetUnhandledExceptionFilter这个函数 
      

  7.   

    SetUnhandledExceptionFilter处理未处理异常,MiniDumpWriteDump完成写dmp文件。
      

  8.   

    生成可执行文件时在工程属性设置里的“调试”选项里将“生成映射文件”设置为“是”。这主要是用来在出错时通过dump和map文件对错误定位。
    生成dump文件需要Dr.Watson,它是Windows自带的调试工具,只要对它进行了设置,程序出错后就可以在相应目录下找到dump文件。
    可参见如下资料:http://hi.baidu.com/mryongzhang/blog/item/11a774edf9b513d72e2e2167.html