.NET的内部诊断工具:
诊断工具
有关分析 API 的提示和技巧
很多诊断工具都需要使用 CLR 分析 API,甚至包括那些在严格意义上讲不是探查器的工具。因此,如果您曾经想知道这些工具是如何工作的,那么,了解 API 的分析会是个良好的开端。在本专栏中,您将看到它们是如何工作的,并了解一些有用的提示和技巧。您还将在“其他分析资源”侧栏内找到一些基本的资源。
若要使用 CLR 分析 API,需要使用非托管语言(通常是 C++)来创建 DLL,然后设置一些环境变量,用于指导公共语言运行库 (CLR) 加载 DLL 并允许它使用分析 API。此 DLL 加载后,实际上会变成 CLR 自身的扩展,以接收回调、请求信息并对 CLR 的执行进行深层次的更改。分析 API 可以就 CLR 和托管代码中发生的很多活动发出通知,这些活动包括 Appdomains 的创建和析构、程序集的加载和卸载、JIT 编译函数、执行函数、引发和捕获异常以及进行垃圾回收。使用分析 API,可以获得有关应用程序各部分的信息,例如,程序集的名称和位置、类型和函数的说明以及对象在内存中的位置和分布。最后,可以使用分析 API 来修改设置、说明和类似信息,包括禁用 JIT 编译器中的优化、更改函数的中间语言 (IL)、甚至创建新的类型和函数。
您将看到,这些功能结合在一起可以为许多诊断工具提供动力。
性能探查器
性能探查器是显示应用程序如何利用时间的诊断工具。如果应用程序中的某些操作运行得太缓慢,则探查器可以识别出问题出在哪里,以便将优化工作集中在相应的地方。
性能探查器有两个主要类别:跟踪和采样。跟踪探查器的基本任务是在日志中记录应用程序运行时每个函数的调用或返回所用的时间。从此日志中,探查器可以知道控制流如何在整个应用程序中移动,以及时间的花费情况。在 Visual Studio® 2005 性能工具中,从性能向导中选择“检测”可指定跟踪探查器。
相关视频
相关阅读 vs.netIDE报"以下文件中的行尾不一致,要将行尾标准化吗?"的解决ie6下面asp.net mvc3 部署应用程序.NET 3.5 安装错误的四个原因及解决方法支持无限制历史记录的Paint.NET 3.5.8 Final,你用了吗?.NET Framework环境安装错误怎么办?JVM和.NET CLR和哪个会被彻底击败在asp.net mvc中实现右键菜单和简单的分页教程VB.NET如何得到调用当前过程的方法名称和类名称
热门文章 没有查询到任何记录。
最新文章
什么是.NET中的TDD?ASP.NET AJAX入门简介
WebMatrix入门教程VC++2008中如何调用GetOpenFileName打开文件PlaySound函数在VC++6.0中如何播放音乐及声请问VC++回调函数怎么用
人气排行 嵌入式实时操作系统VxWorks入门教程ArrayList 与 string、string[] 的转换C#遍历整个文件夹及子目录的文件代码WebMatrix入门教程asp.net判断文件或文件夹是否存在c#判断数据NULL值的方法vc++6.0怎么写Windows简单窗口代码.net解决数据导出excel时的格式问题
查看所有0条评论>>