Grundlegendes zum Ablaufverfolgungsstrukturbereich
Der Bereich Ablaufverfolgungsstruktur ist der Fokus der Fehleranzeige. In der Regel durchlaufen Sie den Code im Bereich Ablaufverfolgungsstruktur , während Sie dessen Auswirkungen auf den Code im Bereich Quellcode und auf die Werte im Bereich Zustand beobachten.
Der Bereich Ablaufverfolgungsstruktur ist in einer hierarchischen Struktur mit einer Reihe erweiterbarer und zusammenklappbarer Knoten organisiert. Die Hierarchie gibt die Codeelemente an, die zur Ausführung anderer Elemente geführt haben. Dieses Format hilft Ihnen, jeden Codebranch zu interpretieren und Codeabschnitte einfach anzuzeigen und auszublenden, während Sie die Ablaufverfolgung durchlaufen.
Der folgende Screenshot zeigt einen Beispielbereich für Ablaufverfolgungsstruktur .
Jedem Codeelement im Bereich Ablaufverfolgungsstruktur ist seine Zeilennummer in der Quelldatei vorangestellt. Diese Nummerierung hilft Ihnen, das Codeelement im Quellstrukturfenster und in der Quelldatei zu finden.
Einige Codezeilen im Bereich Quellcode entsprechen mehr als einem Element im Bereich Ablaufverfolgungsstruktur . Diese Situation tritt auf, wenn die Codezeile mehr als eine Aktion verursacht. Wenn ein Funktionsaufrufparameter beispielsweise ein IRQL ist, kann die Codezeile, die den Funktionsaufruf enthält, auch einen Aufruf enthalten, um den aktuellen IRQL zu finden, z. B.:
IoReleaseCancelSpinLock(KeGetCurrentIrql());
In dieser Situation enthält der Bereich Ablaufverfolgungsstruktur ein kritisches Element für den KeGetCurrentIrql-Funktionsaufruf , einige Aufrufe des SDV-Betriebssystemmodells zum zufälligen Generieren eines IRQL und dann einen Aufruf von IoReleaseCancelSpinLock mit dem zurückgegebenen IRQL.