.dml_flow (sem problemas com links)
O comando .dml_flow exibe um bloco de código desmontado e fornece links que você pode usar para construir um grafo de fluxo de código.
.dml_flow Start Target
Parâmetros
Começar
O endereço de uma instrução da qual o endereço de destino pode ser acessado.
Alvo
Um endereço no bloco de código a ser desmontado.
Comentários
Considere a pilha de chamadas mostrada no exemplo a seguir.
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
...
Suponha que você queira examinar todos os caminhos de código desde o início de nt! MiFlushSectionInternal para o bloco de código que contém o endereço de retorno, fffff800`01b3b6b4
. O comando a seguir faz com que você comece.
.browse .dml_flow nt!MiFlushSectionInternal fffff800`01b3b6b4
A saída, na janela Navegador de Comandos, é mostrada na imagem a seguir.
A imagem anterior mostra o bloco de código que contém o endereço de destino, fffff800`01b3b6b4
. Há apenas um link (fffff800`01b3b681
) na parte superior da imagem. Isso indica que há apenas um bloco de código do qual o bloco de código atual pode ser alcançado. Se você clicar no link, verá esse bloco de código desmontado e verá links que permitem explorar ainda mais o grafo de fluxo de código.
Os dois links na parte inferior da imagem anterior indicam que há dois blocos de código que podem ser acessados do bloco de código atual.
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários