关于托管调试和性能优化的工具
2014-11-13 22:34 周信达 阅读(1184) 评论(0) 编辑 收藏 举报最近一个礼拜,一直在看一些调试和性能相关的东西,因为公司的产品主要瓶颈就在这些地方,于是觉得很有必要去了解一下这方面的东西。插个小话题,话说今天.NET官方公布将整个.NET框架开源,这实在是一个重磅消息,几家欢喜几家愁,各路欢笑各路口水。不管如何,自己作为一个陪伴着.NET多年的开发者,还是对它有感情的(好吧有点矫情),不过话说回来,我不知道微软原来闭源是有何种商业目的和战略计划,但是,微软的.NET在背负着不叫好的口水中,在商业上的挫败中,即便如此都是一如既往地投入大量精力在.NET的建设上,包括从半开源一直走到今天的开源,不管怎样,这个态度还是可以的,虽然它来得有点太晚了。况且,.NET程序是到了该改变思维的时候了,额话说的有点多,上正题吧
调试工具篇
- Windows调试工具集(Debugging Tools for Windows)
- 工具集中包含Windbg、NTSD、CDB
- http://msdn.microsoft.com/en-us/windows/hardware/hh852365
- 单独下载地 Debuggers (x86) Debuggers (x64)
- Debugging Tools for Windows MSDN Help
- 功能:主要针对非托管程序的调试
- http://www.cnblogs.com/awpatp/archive/2010/05/30/1747736.html
- Windows调试器扩展(Debugger Extension)
- SOS(.NET版本自带,可以集成到VS中使用)
- SOSEX for .NET
- PssCor4
- CLR Profiler(主要对内存分配情况进行监视和分析)
- PowerDbg
- MDA(Manage Debugger Assistant)
- MDbg.exe(.NET Framework 命令行调试程序)
- .NET Memory Profiler
性能工具篇
- 性能计数器(Performance Counter)
- 系统自带
- CLR Profiler(主要对内存分配情况进行监视和分析)
- Visual Studio自带的性能分析器
- JetBrains dotTrace
- ANTS Performance Profiler
- .NET Memory Profiler
- Event Trace for Windows(ETW)
- Windows Performance Toolkit(WPT)
- PerfMonitor
- PerfView
- Visual Studio Sampling Profiler
- Visual Studio Allocation Profiler
- ANTS Memory Profiler
- SciTech .NET Memory Profiler
- Concurrency Visualizer
- Concurrency Profiler
- I/O Profilers
- BCL PerfMonitor
数据库工具篇
- data access profilers
- database profilers
- SQL Server Profiler
- RedGate ANTS Performance Profiler
- Visual Studio “Tier Interactions” profiling feature
- LINQ to SQL Profiler
- Entity Framework Profiler
- NHibernate Profiler
附:
引用
《Pro .NET Performance Optimize Your C# Application》
《Advanced .NET Debugging》
《Windows高级调试》
结语
调试和性能是混为一体的,通常我们都要深入到程序的内部,尤其是当工程规模较大的时候,往往我们通过简单的Code Review或者简易的Debug难以定位问题,此时我们就要借助于一些工具了,所谓工欲善其事必先利其器。通常我们诊断时基本上关注与类型使用、异常处理、垃圾回收、线程处理、并发处理等等。其实这里面列出的大部分工具我本人都没有使用过,在实践中使用过一部分在平时学习的时候也研究过一小部分,列出来主要是作个记录,方便以后可以翻出来再使用和评测