调试ccbpm系统的bug个技巧 如何调试asp.net程序导致iis死机问题
3 月,跳不动了?>>> 最近ccflow程序在运行的时候经常导致iis死机,单步调试无法找到问题。 但是退出重新启动vs程序,又可以了。第一次运行没有问题,为此问题,不知道从何地方下手。 为此我想到了写一个单元测试来测试是否可以,在ccflow上面创建一个单元测试代码。如下 把default.aspx设置为起始页,执行第 1次成功,第2次就失败。 由此我想到,一定是底层的代码出现错误,而非前端的js导致iis死机的问题。 我把范围在缩小一次,执行default.aspx ,发现代码出现在第一个发送方法上面。 BP.WF.Dev2Interface.Node_SendWork( "001" , workid, 102, "liping" ); 进一步缩小范围,就是我们的核心代码 NodeSend() ;的方法,出现问题。因为NodeSend这个方法比较大,所以我在中间写一个了个异常。 经过测试发现,这个大方法的上部分,没有问题。 我把剩余代一半代码,在缩小范围一半,在中间部分,增加上 throw new Exception( "err@运行到这里了,刷下一下页面,检查是否出问题,如果出问题就说明,以上代码有问题。" ); 这个异常,最后定位到,处理事件的这个方法出问题了。 用同样的方法,把在方法体中间,加抛出异常,反复几次,终于定位到了,发送邮件的时候导致的问题。 为了不耽误使用