程序疑难杂症处理(1)

来源:互联网 发布:阿里旺旺旧版本mac 编辑:程序博客网 时间:2024/06/06 00:09

 好久都没有写Blog,其一是自己忙,其二是没有什么可以写,其三是自己好久都没有静下来,今天看看blog 空空的,想起最近手头的工作,写一写作为纪念,那天翻起来,不至于忘记。

1. 程序崩溃

    最近项目到后期了,崩溃一个接着一个初,简单的崩溃,还好对付,现在就是那些莫名其妙的崩溃,所以说当将简单的BUG修改完毕之后,那么这些复杂的BUG如何对付呢,windbg 上场,一般的崩溃windbg 都可以成为有效的分析工具,但是常常有些崩溃不是那么简单,曾经我分析一个崩溃,这个crash 的堆和栈都被驱动程序给破环掉了,整整花了一天时间才将其搞定。

 所以说分析的崩溃的时候,很明显不能崩溃的地方崩溃了,那么就要看是检查栈的数据和堆的数据是否被破坏,如果被破坏的话,那么肯定程序的其他部分,或者其他程序在访问违规的情况下,将其破坏,那么就要进行代码排除进行解决这样的问题。

2. 死锁

 

  程序经常是会被死锁的,不管是驱动的死锁还是普通程序的死锁,windbg 依然好用,当死锁发生的时候,一定要先进性分析死锁在那里,然后才能进行为什么死锁的分析。 找死锁,可以找那些等在临界区的。

 

原创粉丝点击