Compartir a través de


.dml_flow (no se puede agregar con vínculos)

El comando .dml_flow muestra un bloque de código desensamblado y proporciona vínculos que puede usar para construir un gráfico de flujo de código.

.dml_flow Start Target

Parámetros

Empezar
Dirección de una instrucción desde la que se puede acceder a la dirección de destino.

Objetivo
Dirección del bloque de código que se va a desensamblar.

Comentarios

Considere la pila de llamadas que se muestra en el ejemplo siguiente.

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
...

Supongamos que desea examinar todas las rutas de acceso de código desde el principio de nt. MiFlushSectionInternal al bloque de código que contiene la dirección de devolución, fffff800`01b3b6b4. El siguiente comando le ayudará a empezar.

.browse .dml_flow nt!MiFlushSectionInternal fffff800`01b3b6b4

La salida, en la ventana Explorador de comandos, se muestra en la siguiente imagen.

Captura de pantalla de la salida de .dml-flow en la ventana Explorador de comandos.

La imagen anterior muestra el bloque de código que contiene la dirección de destino, fffff800`01b3b6b4. Solo hay un vínculo (fffff800`01b3b681) en la parte superior de la imagen. Esto indica que solo hay un bloque de código desde el que se puede acceder al bloque de código actual. Si hace clic en el vínculo, verá ese bloque de código desensamblado y verá vínculos que le permiten explorar aún más el gráfico de flujo de código.

Los dos vínculos situados en la parte inferior de la imagen anterior indican que hay dos bloques de código a los que se puede acceder desde el bloque de código actual.

Vea también

Comandos del lenguaje de marcado del depurador

uf (Función Unsemmble)