Freigeben über


.dml_flow (Unasemmble with Links)

Der Befehl .dml_flow zeigt einen disassemblierten Codeblock an und stellt Links bereit, die Sie zum Erstellen eines Codeflussdiagramms verwenden können.

.dml_flow Start Target

Parameter

Starten
Die Adresse einer Anweisung, von der aus die Zieladresse erreicht werden kann.

Ziel
Eine Adresse im zu disassemblierten Codeblock.

Hinweise

Betrachten Sie die im folgenden Beispiel gezeigte Aufrufliste.

0: kd> kL
Child-SP          RetAddr           Call Site
fffff880`0335c688 fffff800`01b41f1c nt!IofCallDriver
fffff880`0335c690 fffff800`01b3b6b4 nt!IoSynchronousPageWrite+0x1cc
fffff880`0335c700 fffff800`01b4195e nt!MiFlushSectionInternal+0x9b8
...

Angenommen, Sie möchten alle Codepfade vom Anfang von nt! MiFlushSectionInternal für den Codeblock, der die Rückgabeadresse enthält. fffff800`01b3b6b4 Mit dem folgenden Befehl können Sie beginnen.

.browse .dml_flow nt!MiFlushSectionInternal fffff800`01b3b6b4

Die Ausgabe im Fenster Befehlsbrowser ist in der folgenden Abbildung dargestellt.

Screenshot der Ausgabe von

Die obige Abbildung zeigt den Codeblock, der die Zieladresse enthält. fffff800`01b3b6b4 Oben im Bild befindet sich nur ein Link (fffff800`01b3b681). Dies gibt an, dass es nur einen Codeblock gibt, von dem aus der aktuelle Codeblock erreicht werden kann. Wenn Sie auf den Link klicken, sehen Sie, dass der Codeblock disassembliert ist. Außerdem werden Links angezeigt, mit denen Sie das Codeflussdiagramm weiter untersuchen können.

Die beiden Links am unteren Rand der vorherigen Abbildung geben an, dass zwei Codeblöcke vorhanden sind, die vom aktuellen Codeblock aus erreicht werden können.

Siehe auch

Debugger Markup Language Commands

uf (Unasemmble-Funktion)