在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. Zuul的高级使用

    原文链接:https://blog.csdn.net/u011820505/article/details/79373594

  2. Unity Shader 屏幕后效果——Bloom外发光

    Bloom的原理很简单,主要是提取渲染图像中的亮部区域,并对亮部区域进行模糊处理,再与原始图像混合而成. 一般对亮部进行模糊处理的部分采用高斯模糊,关于高斯模糊,详见之前的另一篇博客: https:/ ...

  3. select2的简单使用

    静态下拉列表 修改 type_template.html  引入JS <!-- slect2插件--> <link rel="stylesheet" href=& ...

  4. 使用semaphore写一个显示锁

    /** * 这里只是将Semaphore包装了一下,注意当Semaphore的构造参数是1时,本身就是一个显示锁 */ public class SemaphoreLock { ); public v ...

  5. 第十九节:Asp.Net Core WebApi基础总结和请求方式

    一. 基础总结 1.Restful服务改造 Core下的WebApi默认也是Restful格式服务,即通过请求方式(Get,post,put,delete)来区分请求哪个方法,请求的URL中不需要写方 ...

  6. MySQL的统计总数count(*)与count(id)或count(字段)的之间的各自效率性能对比

    执行效果: 1.  count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了!  从执行计划来看,count(1)和cou ...

  7. 脱离 WebView 的通信 JavaScriptCore

    JavascriptCore JavascriptCore 一直作为 WebKit 中内置的 JS 引擎使用,在 iOS7 之后,Apple 对原有的 C/C++ 代码进行了 OC 封装,成为系统级的 ...

  8. react+umi+netcore+signalR BS和客户端设备 简单通讯

    微信扫码登录工作用 仅作记录 扫码访问服务器地址 实现扫码服务器地址通讯中断设备解锁 采用signalR 双向异步通知中断 创建控制器 ChatController 注入集线器上下文 IHubCont ...

  9. Runtime.addShutdownHook()(译)

    序言: 每一个Java程序都可以为JVM增加一个关闭钩子.JVM将在关闭之前执行关闭钩子中的指令. 问题: 一个程序可能需要在退出前执行一些指令.程序可能由于下列原因而退出: 所有的线程已经执行完毕 ...

  10. thread stack size not set; configure via D:\Program Files\elasticsearch-5.0.0\config\jvm.options or ES_JAVA_OPTS

    抄自:http://blog.csdn.net/leo063/article/details/52994786 thread stack size not set; configure via D:\ ...