摘要:铁链总是很难剪断的,.NET的对象引用链条就犹如铁链那么坚固。稍有不注意,你就会因为这个链条而让你的程序背上沉重的负担,进而让你的程序Crash。接下来我们就结合WinDbg来分析一个这样的例子。 上回说到,解决了Lucene.net的缓存问题后,内存依久就是如洪水水位一样,无情的暴涨,马上又到了警戒水位了,没有办法,只有炸堤防洪。要得彻底的解决问题,还得依靠Windbg和dump文件。这回,我捕...
阅读全文
随笔分类 - 排错
摘要:在上篇中,介绍了如何使用adplus来捕捉dump。我们可以使用这个命令:adplus -Crash -p 进程ID(或-IIS) -quiet -fullonfirst -o C:\dumps 。但是我们在哪里执行这段命令呢?在控制台命令行,切换到Windbg的安装目录下。然后执行上面的命令,当你监控的进程出现异常时,它就会捕捉到该进程的所有相关信息到dump文件中(前提是fullonfirst...
阅读全文
摘要:最近有一本书,虽然还没有出版本,但已经引起了很多人的关注的。那就是熊大牛(请熊力老师别生气,绝对没有恶意,是尊称)的《Windows 高效排错》。提到Windows排错,我相信有很多像我这样普通的程序员想都不敢自己能去做这件事。面对那些犹如天书般的16进制表示的内存地址,二进制表示的代码,和数目繁多的数据对象。我们一看都会把它当成是乱码了,更别提去了解它了。但当我们遇到,无休止的内存溢出,程序阻塞...
阅读全文