软件开发完成,已经发布使用中。客户陆续反馈回一些使用中的BUG,偶尔会遇到程序崩溃的情况。客户没有编程常识,不能要求其在崩溃前及时记录并反馈相关的数据,甚至连其做了哪些键鼠操作都提供不了。这种状况给我们判断BUG产生的原因带来很大困难。
程序运行时,是连接着服务器的。能否有一种办法在程序崩溃之前,把所关心的数据传回来呢?就像平时调试时使用的Intellitrace实现的那样,反馈回发生异常时的两三层堆栈及相关变量。这样,修改BUG就很容易了。
谢谢指教!

解决方案 »

  1.   

    捕捉微软的cath信息,自己把里面的需要的内容发给你
      

  2.   

    谢谢bdmh的回复,我觉得一般情况下,用户代码能catch到异常,程序就不会崩溃了,这种时候用户不会察觉到的。发生程序崩溃的异常时,往往是没有做try{}catch{}的。
      

  3.   

    不知道你说的是不是可以添加那个Global.asax,里面的Application_Error方法可以记录下BUG
      

  4.   

    一般用日志,还可以用log4net来配置将日志保存在哪里,网上有具体的配置
      

  5.   

    我现在的思路是:FIFO的方式把关心的数据记录到某个内存变量中,这样可以记录到最后时刻的相关数据,崩溃之前,把这个变量写入到硬盘文件上,下次程序启动时就发回来。
    关键问题是如何在程序崩溃之前,及时触发写入硬盘文件的方法?在catch中触发,达不到目的,如我在2楼说的原因。请大家建议个好的办法,谢谢!