利用Memory窗口查看内存信息
Memory窗口用于显示某个地址开始处的内存信息,默认地址为0×00000000。用户可以通过选择View→Debug Windows→Memory命令或者按Alt+6组合键打开Memory窗口,如图1.76所示。本实例将实现通过Memory窗口查看指定地址的内容。
图1.76 利用Memory窗口查看内存信息 |
Watch窗口只能查看固定变量长度的内容,而Memory窗口则可以显示连续地址的内容。在Memory窗口中需要输入地址,该地址可以通过Watch窗口查找到。Watch窗口不但显示变量的内容,还提供每个变量的地址。输入该地址可以使用Memory窗口查看变量的内容,也可以将某个变量直接拖动到Memory窗口的列表中,在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);
- G
(4)在OutputResult方法内设置一处断点,按F5键进入调试状态,执行View→Debug Windows→Memory命令打开Memory窗口进行查看。查看程序中的变量str的地址下的内存内容,如图1.77所示。
图1.77 程序调试 |
心法领悟028:Memory窗口的用途。
Memory窗口最大的用处是可以帮助开发人员分析出内存是否越界以及程序的执行情况,例如在读取文件时,可以在Memory窗口中查看文件是否读取完整,如果读取得不完整则需要增加缓存容量。