实例030 利用Registers窗口查看CPU寄存器信息
Registers窗口用于显示当前CPU寄存器的名字、数据和标志,同时也能够显示浮动栈指针。在Registers窗口中,用户可以改变任何一个寄存器的值和标记。用户可以通过选择View→Debug Windows→Registers命令或者按Alt+5组合键打开Registers窗口,实例如图1.79所示。
|
| 图1.79 利用Registers窗口查看CPU寄存器信息 |
Registers窗口可以查看CPU寄存器和标志位的值,并且值都是以十六进制数的形式显示的。寄存器可以存储立即数和地址值,如果是地址值,还需要结合Memory窗口进行具体值的查看。
(1)创建基于对话框的应用程序。
(2)在头文件DebugProgramDlg.h中添加OutputResult方法。
(3)OutputResult方法的实现代码如下:
- void CDebugProgramDlg::OutputResult()
- {
- CString strResult;
- int iResult=0;
- //添加代码开始
- char *str = new char[100]; //定义字符串变量
- strcpy(str,"Hello World!"); //给字符串赋值
- int s,a,b; //定义整型变量
- a = 5; //赋初值
- b = 10;
- s = a + b; //求和
- strResult.Format("%s\r\n%d",str,s);
- GetDlgItem(IDC_ED_RESULT)->SetWindowText(strResult);
- }
(4)在OutputResult方法内设置一处断点,按F5键进入调试状态,执行View→Debug Windows→Registers命令打开Registers窗口,可以查看EAX、ECX、ES等CPU寄存器的值。
心法领悟030:Registers窗口的使用技巧。
Registers窗口可以和Disassembly窗口配合使用,在Disassembly窗口中有许多寄存器的名称,只有通过Registers窗口才能查看到寄存器中具体的值。
