Debug Diagnostic 1.1 工具现已推出
<script>function loadTOCNode(){}</script>文章编号 | : | 931370 |
最后修改 | : | 2007年4月3日 |
修订 | : | 1.1 |
本页
概要
<script type=text/javascript>loadTOCNode(1, 'summary');</script>
本文描述 Debug Diagnostics 1.1 工具的功能和可用性。此外,本文还描述如何使用 Debug Diagnostics 1.1 工具来分析和解决应用程序问题。
简介
<script type=text/javascript>loadTOCNode(1, 'summary');</script>
Debug Diagnostics 1.1 工具旨在帮助对任何 Win32 用户模式进程中的性能问题进行故障诊断。例如,Debug Diagnostics 1.1 工具可帮助您对停止响应(挂起)或崩溃、执行速度慢、泄漏内存或存在内存碎片问题的应用程序进行故障诊断。Debug Diagnostics 1.1 工具还包括用于 Microsoft Internet 信息服务 (IIS) 应用程序、Web 数据访问组件、Microsoft COM+ 应用程序以及相关 Microsoft 技术的调试脚本。
Debug Diagnostics 1.1 工具以独立工具的形式提供。要获得 Debug Diagnostics 1.1 工具,请访问下面的 Microsoft 网站:
Debug Diagnostics 1.1 工具以独立工具的形式提供。要获得 Debug Diagnostics 1.1 工具,请访问下面的 Microsoft 网站:
http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3
(http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3)
注意:Debug Diagnostics 1.0 工具作为 IIS Diagnostics Toolkit 1.0 的一部分提供,或以独立工具的形式提供。
更多信息
<script type=text/javascript>loadTOCNode(1, 'moreinformation');</script>
Debug Diagnostics 1.1 工具使用 Microsoft 组件对象模型 (COM) 对象来提供可扩展的对象模型。Debug Diagnostics 1.1 工具包括一个脚本宿主和一个内置的报告框架。
注意:“调试器宿主”不依赖于调试诊断服务 (Dbgsvc.exe)。
Debug Diagnostics 1.1 工具包括三个视图:
有关如何创建崩溃规则的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
当您创建挂起规则并随后指定要监控的进程和 URL 后,您必须同时指定一个 ping 时间间隔和一个响应超时值。Debug Diagnostics 1.1 工具将按配置的时间间隔向服务器发送请求。如果服务器在配置的超时之前未响应,则会为指定的进程生成一个内存转储文件。
有关如何创建挂起规则的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
有关如何创建内存和句柄泄漏规则的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
Debug Diagnostics 1.1 工具使用分析脚本来分析进程转储文件。最常用的分析脚本包括:
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
Debug Diagnostics 1.1 工具的组件
<script type=text/javascript>loadTOCNode(2, 'moreinformation');</script>调试服务
<script type=text/javascript>loadTOCNode(3, 'moreinformation');</script> “调试服务”(Dbghost.exe) 执行以下操作:• | 将宿主附加到正在运行的进程,或将宿主与正在运行的进程分离 |
• | 收集性能监视器数据 |
• | 与服务器联系并使用 HttpStatusCode 枚举来确定服务器的状态。此操作也称为 HTTP ping。 |
• | 监控正在运行的进程中的内存泄漏 |
• | 收集调试会话状态信息 |
• | 显示每个已定义规则的状态 |
调试器宿主
<script type=text/javascript>loadTOCNode(3, 'moreinformation');</script> “调试器宿主”(Dbghost.exe) 承载 Windows 符号调试器引擎 (Dbgeng.dll)。“调试器宿主”将进程附加到 Windows 符号调试器引擎并生成内存转储。“调试器宿主”还承载用于分析内存转储的主模块。注意:“调试器宿主”不依赖于调试诊断服务 (Dbgsvc.exe)。
用户界面
<script type=text/javascript>loadTOCNode(3, 'moreinformation');</script> Debug Diagnostics 1.1 工具中的用户界面(Debugdiag.exe 和 Debugdiaganalysisonly.exe)用于分析内存转储、自动创建控制脚本以及显示正在运行的进程的状态。这些进程包括服务。Debug Diagnostics 1.1 工具包括三个视图:
• | 规则 使用向导为调试器宿主创建控制脚本 |
• | 高级分析 对一个或多个内存转储文件运行选定的分析脚本 |
• | 进程 显示正在运行的进程和脚本的状态 |
如何使用 Debug Diagnostics 1.1 工具
<script type=text/javascript>loadTOCNode(2, 'moreinformation');</script> 在启动 Debug Diagnostics 1.1 工具之前,您必须确定您所遇到问题的种类。例如,确定应用程序是停止响应、崩溃、执行速度慢还是泄漏内存。了解了问题的种类后,您可以配置 Debug Diagnostics 1.1 工具来收集正确的数据。然后,您可以使用该数据来确定和解析问题的原因。调试进程崩溃
<script type=text/javascript>loadTOCNode(3, 'moreinformation');</script> 通常,进程崩溃表明进程中出现未处理的异常,或进程中运行的代码已终止了进程。要调试进程崩溃,请在进程上创建崩溃规则。您可以将 Debug Diagnostics 1.1 工具附加到特定进程。Debug Diagnostics 1.1 工具将监控该进程,对导致进程意外终止的任何异常或自定义断点进行监控。当崩溃发生时,将在规则中所指定的文件夹下创建一个内存转储文件。有关如何创建崩溃规则的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
919789
(http://support.microsoft.com/kb/919789/) 如何使用调试诊断工具对意外停止的 IIS 进程进行故障诊断
调试停止响应的进程或性能迟缓问题
<script type=text/javascript>loadTOCNode(3, 'moreinformation');</script> 请使用以下方法之一。方法 1:创建一个挂起规则。
<script type=text/javascript>loadTOCNode(4, 'moreinformation');</script> 挂起监控功能旨在对 IIS 进程性能问题进行故障诊断。例如,您可以创建一个挂起规则,以便对 Web 应用程序页面加载时间比预期长或根本不加载的问题进行故障诊断。当您创建挂起规则并随后指定要监控的进程和 URL 后,您必须同时指定一个 ping 时间间隔和一个响应超时值。Debug Diagnostics 1.1 工具将按配置的时间间隔向服务器发送请求。如果服务器在配置的超时之前未响应,则会为指定的进程生成一个内存转储文件。
有关如何创建挂起规则的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
919791
(http://support.microsoft.com/kb/919791/) 如何使用调试诊断工具对 IIS 中进程的高 CPU 使用率问题进行故障诊断
方法 2:手动为进程创建内存转储文件
<script type=text/javascript>loadTOCNode(4, 'moreinformation');</script> 当进程停止响应或执行速度很慢时,您可以手动创建内存转储文件。要手动为进程创建内存转储文件,请在“进程”视图中右键单击进程,然后单击“创建完整用户转储”。调试内存或句柄使用情况
<script type=text/javascript>loadTOCNode(3, 'moreinformation');</script> 请使用以下方法之一。方法 1:创建一个泄漏规则。
<script type=text/javascript>loadTOCNode(4, 'moreinformation');</script> 当您针对进程创建泄漏规则时,Leaktrack.dll 文件将注入到进程中以跟踪随着时间推移的内存使用和句柄使用情况。在配置内存泄漏规则或句柄泄漏规则时,您可以配置 Debug Diagnostics 1.1 工具以便生成基于时间或内存使用情况的内存转储文件。方法 2:手动创建内存转储文件
<script type=text/javascript>loadTOCNode(4, 'moreinformation');</script> 为此,请在“进程”视图中右键单击进程,然后单击“监控泄漏”。当进程增大到有问题的大小时,请右键单击进程,然后单击“创建完整用户转储”。有关如何创建内存和句柄泄漏规则的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
919790
(http://support.microsoft.com/kb/919790/) 如何使用 IIS 调试诊断工具对 IIS 进程中的内存泄漏进行故障诊断
分析内存转储文件
<script type=text/javascript>loadTOCNode(3, 'moreinformation');</script> Debug Diagnostics 1.1 工具可以分析内存转储文件并生成包括分析数据的报告文件。此外,该报告文件还包括用于解决所确定问题的建议方法。Debug Diagnostics 1.1 工具使用分析脚本来分析进程转储文件。最常用的分析脚本包括:
• | 崩溃/挂起分析器 如果检测到崩溃,崩溃/挂起脚本将分析转储文件中的异常信息。崩溃/挂起脚本还会分析转储文件以确定已知会导致挂起情况的问题。此脚本包括与进程相关的 IIS、Microsoft 数据访问组件、COM+ 和 Windows 套接字信息。 |
• | 内存压力分析器 内存压力分析脚本可分析进程的内存使用情况,并显示 Leaktrack.dll 文件收集的数据。 |
921464
(http://support.microsoft.com/kb/921464/) 如何使用 Debug Diagnostics 1.0 工具来分析内存转储文件