!analyze (WinDbg)

!analyze 扩展显示有关当前异常或 bug 检查的信息。

用户模式

    !analyze [-v[0..99]] [-f | -hang]
    !analyze [-v[0..99]] -xml [-xmi] [-xcs] [-xmf OutputXmlFile]
    !analyze -c [-load KnownIssuesFile | -unload | -help ]

内核模式

    !analyze [-v[0..99]] [-f | -hang]
    !analyze -show BugCheckCode [BugParameters]
    !analyze [-v[0..99]] -xml [-xmi] [-xcs] [-xmf OutputXmlFile]
    !analyze -c [-load KnownIssuesFile | -unload | -help ]

一般参数

-v[0..99]

显示详细输出。 可以通过指定一个介于 0 到 99 的数字来显示详细信息。 如果未指定数字,则默认值为 1。 还可以指定“非常详细” (-vv) 以显示所有可用信息。

对于用户模式, -v6 显示全局和每个线程上发现的内容。

-f

生成 !analyze 异常输出。 即使调试器未检测到异常,也可以使用此参数查看异常分析。

-挂

生成 !analyze 挂起应用程序输出。 当目标遇到 bug 检查或异常时,请使用此参数。 但是,分析应用程序挂起的原因与问题更相关。 在内核模式下, analyze-hang 会调查系统持有的锁,然后扫描 DPC 队列链。 在用户模式下, analyze-hang 会分析线程堆栈,以确定是否有线程阻止了其他线程。

在用户模式下运行此扩展之前,请考虑将当前线程更改为你认为已停止响应的线程, (即挂起) 。 应执行此更改,因为异常可能已将当前线程更改为其他线程。

显示参数

-显示BugCheckCode[BugParameters]

显示由 指定的 BugCheckCodebug 检查的相关信息。 BugParameters指定最多四个 bug 检查用空格分隔的参数。 这些参数使你能够进一步优化搜索。

继续执行参数

-c

在调试器遇到已知问题时继续执行。 如果问题不是已知问题,调试器仍会中断到目标中。

可以将 -c 选项与以下子参数一起使用。 这些子参数配置已知问题的列表。 它们不会导致执行本身发生。 在运行 analyze-c-load **** 至少一次之前,!analyze-c 不起作用。

-负荷KnownIssuesFile
加载指定的已知问题文件。 KnownIssuesFile 指定此文件的路径和文件名。 此文件必须采用 XML 格式。

文件中的已知问题 KnownIssuesFile 列表用于所有后续 的 -c 命令,直到使用 -c-unload,或直到再次使用 -c-load (此时新数据将替换旧数据) 。

-卸载

卸载已知问题的当前列表。

-help

调试器命令窗口中显示 analyze-c 扩展命令扩展的帮助。

XML 加载选项参数

-Xml

生成 XML 格式的分析输出。

-Xmi

将模块信息添加到 xml 输出。 此选项需要 -xml 或 -xmf。

-xcs

将上下文和调用堆栈帧添加到 xml 输出。 此选项需要 -xml 或 -xmf。

-xmfOutputXmlFile

以 XML 格式将分析写入指定的 OutputXmlFile 。 如果文件存在,将覆盖该文件。 除非还指定了 -xml 选项,否则不会向控制台或日志生成分析输出。

DLL

ext.dll

其他信息

有关用户模式异常和内核模式停止错误 ((即崩溃) )的示例分析,以及有关 !analyze 如何使用 triage.ini 文件的详细信息,请参阅 使用 !analyze 扩展

注解

在用户模式下, !analyze 显示有关当前异常的信息。

在内核模式下,!analyze 显示有关最新 bug 检查的信息。 如果出现 bug 检查,将自动生成 !analyze 显示。 可以使用 analyze-v 显示其他信息。 如果只想查看基本 bug 检查参数,可以使用 .bugcheck (显示 bug 检查数据) 命令。

对于使用 User-Mode Driver Framework (UMDF) 2.15 或更高版本的驱动程序, !analyze 提供有关 UMDF 验证程序失败和未经处理的异常的信息。 执行实时内核模式调试和分析用户模式内存转储文件时,此功能可用。 对于 UMDF 驱动程序崩溃, !analyze 会尝试识别负责的驱动程序。

另请参阅