在WinDbg中,可以通过输入命令(u, ub, uu (Unassemble))或使用反汇编窗口查看程序汇编代码。

如何打开 DissAssembly Code窗口

  • 通过菜单View-->Disassembly
  • 快捷键Alt+7
  • 工具栏按钮

DissAssembly窗口

通过上面的方式打开的窗口如下

调试器获取一段内存,将其解释为二进制机器指令,然后将其反汇编以生成机器指令的汇编语言版本。生成的代码将显示在“反汇编”窗口中。

在“反汇编”窗口中,可以执行以下操作:

  • 若要反汇编内存的不同部分,请在“偏移量”框中键入要反汇编的内存的地址。(键入地址后可以按回车键,但不必如此。)
  • 要查看内存的其他部分,请单击“上一页”或“下一页”按钮,或按“向上翻页”或“向下翻页”键。这些命令分别显示内存前面或后面部分的反汇编代码。通过按右箭头、左箭头、上箭头和下箭头键,可以在窗口内导航。如果使用这些键离开页面,将出现一个新页面。

反汇编窗口中有一个包含两个按钮以及一个具有其他命令的快捷菜单的工具栏。 若要访问菜单,请右键单击标题栏或单击显示的窗口 (在右上角附近的图标)。 以下列表介绍了一些菜单命令:

  • Go to current address 打开“源”窗口,其中包含与“反汇编”窗口中选定行相对应的源文件,并突出显示该行.

  • Disassemble before current instruction 使当前行放置在“反汇编”窗口的中间。此命令是默认选项。如果清除此命令,当前行将显示在反汇编窗口的顶部,这将节省时间,因为反向反汇编可能会很耗时.

  • Highlight instructions from the current source line 使与当前源代码行对应的所有指令突出显示。通常,一个源代码行将对应于多个汇编指令。如果代码已优化,则这些程序集指令可能不是连续的。此命令使您能够查找从当前源代码行汇编的所有指令.

  • Show source line for each instruction 显示对应于每个汇编指令的源行号.

  • Show source file for each instruction 显示与每个程序指令相对应的源文件名.

Windbg Assembly Code(反汇编)窗口的使用的更多相关文章

  1. OD 内存映射 属主找不到当前程序名解决办法 和 跟随ClassProc 反汇编窗口空白解决办法

    OD 内存映射 属主找不到当前程序名解决办法 取消 StrongOD 选项里  高级枚举模块选项就OK了  重启OD 跟随ClassProc  反汇编窗口空白解决办法 StrongOD.dll 是有问 ...

  2. vs2008 命令窗口 命令窗口 和 反汇编窗口的使用

    visual studio 的功能相当强大,用了一年多,也只是了解了皮毛.今天学习了一下VS2008 的 即时窗口 命令窗口 和 反汇编窗口的使用.之所以会想到要使用即时窗口是因为最近开发遇到了一个问 ...

  3. VS Code 终端窗口无法输入命令的解决方案

    问题 今天打开vs code,打开终端窗口,发现不能输入命令了 解决方法 邮件桌面 vscode的快捷键,打开“兼容性”标签,勾选"以管理员身份运行此程序" 结果 修改之后重启vs ...

  4. [Fw] assembly code in gas syntax

    Address operand syntax There are up to 4 parameters of an address operand that are presented in the ...

  5. about loops in assembly code

    总结: 实际上只有一种结构,都是 do-while 结构

  6. Machine code transfer into assembly code

    #include <stdio.h> const char shell[]="\x0f\x01\xf8\xe8\5\0\0\0\x0f\x01\xf8\x48\xcf" ...

  7. 用WinDbg调试Windows和驱动程序

    由于本人能力有限,翻译不足之处敬请谅解,欢迎批评指正:sunylat@163.com MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/h ...

  8. Windbg源代码窗口的使用

    在 WinDbg 中,源窗口显示已加载到调试器中的源文件. 如何打开源代码窗口 通过菜单File--->Open Source File打开源代码文件,窗口随之打开 通过快捷键Ctrl+O 通过 ...

  9. Windbg Call Stack(调用堆栈)窗口的使用

    调用堆栈是指向程序计数器当前位置的函数调用链.调用堆栈的顶部函数是当前函数,下一个函数是调用当前函数的函数,依此类推.显示的调用堆栈基于当前程序计数器,除非更改寄存器上下文. 在 WinDbg 中,可 ...

随机推荐

  1. 【转】PyQt弹出式对话框的常用方法及标准按钮类型

    pyQt之弹出式对话框(QMessageBox)的常用方法及标准按钮类型 一.控件说明 QMessageBox是一种通用的弹出式对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈,且每 ...

  2. microbit之mpython的API

    附录:常用API函数汇总 一.显示 display.scroll("Hello, World!") 在micro:bit点阵上滚动显示Hello, World!,其中Hello, ...

  3. 转载:string、const char*、 char* 、char[]相互转换

    本文转自:https://blog.csdn.net/rongrongyaofeiqi/article/details/52442169 一:转化总结形式如下: 使用时,要对源格式和目标格式进行初始化 ...

  4. 并查集 + 路径压缩(经典) UVALive 3027 Corporative Network

    Corporative Network Problem's Link Mean: 有n个结点,一开始所有结点都是相互独立的,有两种操作: I u v:把v设为u的父节点,edge(u,v)的距离为ab ...

  5. java中的7个位运算运算符

    位运算指的是针对整数的二进制进行的位移操作. 位运算提供比算术运算更高的效率,但是位运算的代码可读性较差,建议所有使用位运算的地方写上注释. Java中提供7个位运算符用于位运算. 左移(<&l ...

  6. SCCM+WSUS的方式分发补丁

    简单来说,System Center Configuration Manager(SCCM/ConfigMgr)由SMS(Systems Management Server)发展而来,其作为一款针对企 ...

  7. pod的yaml例子

    apiVersion: apps/v1beta2 kind: Deployment metadata: name: nginx-deployment spec: replicas: 3 selecto ...

  8. js汉字转换为阿拉伯数字支持十到十九

    js汉字转换为阿拉伯数字  直接贴函数 function cnnumtonum(chnStr){ var chnNumChar = { 零:,一:,二:,三:,四:,五:,六:,七:,八:,九: }; ...

  9. WPF MainWindow的TopMost,Resizemode

    Topmost -[true,false] The default is false, but if set to true, your Window will stay on top of othe ...

  10. MVC+Ninject+三层架构+代码生成 -- 总结(六、邏輯層)

    1.邏輯層的方法應該與數據層的方法一一對應.邏輯層返回的結果都是用接口IResult封裝,用於項目轉換時,能減少變化的代碼量. 2.邏輯層都需要繼承 BaseLogic 類 public class ...