Visual Studio调试器指南---Disassembly窗口
“反汇编”窗口显示与编译器所创建的指令对应的汇编代码。 如果你正在调试托管的代码,这些程序集指令对应于在实时 (JIT) 编译器,而非 Microsoft 中间语言 (MSIL) 由 Visual Studio 编译器创建所创建的本机代码。在调试的环境下,我们可以很方便地通过反汇编窗口查看程序生成的反汇编信息。
打开窗口
- 通过菜单栏
- 通过源代码窗口右键菜单
- 快捷键
Alt+8
窗口的使用
除汇编指令外,“反汇编”窗口还可显示下列可选信息:
每条指令所在的内存地址 对于本机应用程序,它是实际的内存地址。 对于 Visual Basic 或C#,它是从该函数的开头的偏移量。
程序集代码派生于的源代码。
代码字节,实际的计算机或 MSIL 指令的字节表示形式的即。
内存地址的符号名。
对应于源代码的行号。
汇编语言指令组成助记键,这是指令名称的缩写和符号的变量、 寄存器以及常量。 每个机器语言指令由一个汇编语言助记符代表还可以后跟一个或多个符号表示。程序集代码严重依赖于处理器寄存器,或者,对于托管代码,公共语言运行时注册。 可以使用反汇编窗口中的连同Register窗口中,它允许你检查寄存器内容。若要在其原始的数字格式,而不是作为程序集语言,请查看计算机代码的说明,请使用内存窗口或 select代码字节的快捷菜单中反汇编窗口。
左边距中的黄色箭头标记当前执行点。 对于本机代码中,执行点对应于 CPU 的程序计数器。 该位置显示程序中将要执行的下一条指令。
地址栏的使用
- 1、直接输入地址
- 2、输入函数名