2011年12月6日
摘要: Visual Studio 作为一种强大的开发平台,已经提供了非常多的调试手段。但这些调试手段相对来说还是停留在表面上,无非是设置断点、变量查看以及调用堆栈列表等。某些时候 我们希望了解更多的东西,尤其是那些被隐藏到背后和运行期的东西,诸如对象运行状态、内存分布等等,这些相对底层的知识可以让我们更好地理解 .NET CLR / JIT 的一些行为。当然,并不是所有人都需要了解这些知识,毕竟汇编和高级调试器使用起来还是非常麻烦的。 SOS.dll 是 Microsoft 提供的一种调试扩展,全称是 Son of Strike,可用来调试托管代码。SOS.dll 拥有非常强大的功能,包括 ... 阅读全文
posted @ 2011-12-06 15:01 啊T 阅读(3665) 评论(0) 推荐(0)
摘要: 如果遇到了性能问题,在使用debug之前分析问题较为不错的一个工具就是perfmon.解决问题最好的方法是思考,这也是熊力大哥在其书中一直在强调的. 如果您的网站遇到下面的几种情形,那还是先看看perfmon里GC相关的东西吧: cpu占用高,内存占用不高.cpu和内存占用都比较高cpu和内存占用都不高,但是网站响应很慢 打开perfmon找到.NET CLR Memory后下面有好几个counter,从哪个开始看呢? 1) % Time in GC 这 个值是说从上一次GC结束到当前这次GC的时间的百分比. 比如上次GC结束时经历了100w个循环,当前的GC消耗是50w个循环,这个计数器的. 阅读全文
posted @ 2011-12-06 11:15 啊T 阅读(503) 评论(0) 推荐(0)