Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Команда .dml_flow отображает дизассемблированное блок кода и предоставляет ссылки, которые можно использовать для создания графа потока кода.
.dml_flow Start Target
Параметры
Начать
Адрес инструкции, с которой можно связаться с целевым адресом.
Целевой
Адрес в блоке кода для дизассемблировки.
Комментарии
Рассмотрим стек вызовов, показанный в следующем примере.
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
...
Предположим, вы хотите изучить все пути к коду с начала nt! MiFlushSectionInternal для блока кода, содержащего обратный адрес , fffff800`01b3b6b4. Следующая команда позволяет приступить к работе.
.browse .dml_flow nt!MiFlushSectionInternal fffff800`01b3b6b4
Выходные данные в окне Обозревателя команд показаны на следующем рисунке.
На предыдущем рисунке показан блок кода, содержащий целевой адрес , fffff800`01b3b6b4. В верхней части изображения есть только одна ссылка (fffff800`01b3b681). Это означает, что существует только один блок кода, из которого можно получить доступ к текущему блоку кода. Если щелкнуть ссылку, вы увидите, что блок кода дизассемблированно, а также ссылки, позволяющие продолжить изучение графа потока кода.
Две ссылки в нижней части предыдущего изображения указывают на то, что из текущего блока кода можно получить доступ к двум блокам кода.