了解跟踪树窗格

跟踪树 ”窗格是缺陷查看器的焦点。 通常,在 “跟踪树 ”窗格中逐步执行代码,同时在“ 源代码 ”窗格和 “状态 ”窗格中的值上观察代码的效果。

跟踪树 ”窗格组织为分层结构,其中包含一系列可展开和可折叠的节点。 层次结构指示导致执行其他元素的代码元素。 此格式可帮助你解释每个代码分支,并在执行跟踪时轻松显示和隐藏代码节。

以下屏幕截图显示了一个示例 “跟踪树 ”窗格。

screen shot of the trace tree pane in the defect viewer.

跟踪树窗格中的每个代码元素前面是源文件中的行号。 此编号有助于在源树窗口和源文件中找到代码元素。

源代码窗格中的某些代码行对应于“跟踪树”窗格中的多个元素。 当代码行导致多个操作时,会出现这种情况。 例如,如果函数调用参数是 IRQL,则包含函数调用的代码行也可能包括用于查找当前 IRQL 的调用,例如:

IoReleaseCancelSpinLock(KeGetCurrentIrql());

在这种情况下, 跟踪树 窗格将包含 KeGetCurrentIrql 函数调用的关键元素、对 SDV 操作系统模型的几个调用来随机生成 IRQL,然后使用返回的 IRQL 调用 IoReleaseCancelSpinLock