实例031 利用Disassembly窗口查看汇编信息
反汇编窗口Disassembly用于显示编译器为源代码产生的汇编指令。用户可以通过选择View→Debug Windows→Disassembly命令或者按Alt+8组合键打开Disassembly窗口,如图1.80所示。
|
| 图1.80 利用Disassembly窗口查看汇编信息 |
反汇编窗口Disassembly不但可以显示汇编代码,还将程序的源代码显示出来,这样可以查看每条语句对应着什么样的汇编代码,结合汇编语句前的地址值、Memory窗口和Registers窗口可以分析汇编代码的执行情况。
(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→Disassembly命令打开Disassembly窗口进行查看。
心法领悟031:反汇编窗口Disassembly的使用。
反汇编窗口Disassembly可以帮助开发人员进行软件执行效率的分析。如果应用程序对效率有很高的要求,就需要汇编代码调试程序,有时编译器不能将代码编译成优化的汇编代码,所以要根据反汇编窗口进行进一步修改。