了解跟踪树窗格

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

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

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

缺陷查看器中“跟踪树”窗格的屏幕截图,其中包含可展开和可折叠的节点。

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

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

IoReleaseCancelSpinLock(KeGetCurrentIrql());

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