数据断点是指对指定变量进行监控,程序运行到变量值发生改变时进入调试状态,进入调试状态前会弹出一个确认对话框,实例对iResult变量进行监控。当iResult值发生改变时弹出对话框,如图1.69所示。
图1.69 利用数据断点进行程序调试
数据断点需要通过Breakpoints对话框来设置,在Data选项卡中可输入需要监控的变量。如果是结构体变量或者数组,还需要输入是第几个成员或元素。
(1)创建基于对话框的应用程序。
(2)在头文件DebugProgramDlg.h中添加OutputResult方法。
(3)定义整型全局变量iResult。
(4)OutputResult方法的实现代码如下:
- void CDebugProgramDlg::OutputResult()
- {
- CString strResult;
- iResult=0;
- for(int i=0;i<50;i++)
- {
- if(i%2==0)
- iResult+=i;
- }
- strResult.Format("%d",iResult);
- GetDlgItem(IDC_ED_RESULT)->SetWindowText(strResult);
- }
(5)按Ctrl+B组合键打开断点窗口,选择Data选项卡。
(6)在表达式编辑框中输入"iResult",如图1.70所示。
图1.70 Breakpoints对话框
(7)按F5键运行程序,单击程序中的"确定"按钮,当变量iResult值发生变化时进入调试状态。
心法领悟024:使用数据断点的注意事项。
数据断点只能对全局变量进行监控,对于局部变量是无效的,因为全局变量出现错误的概率要比局部变量的大,而且全局变量可以在不同的源文件内引用,通过数据断点可以很快地定位到出错的位置。