All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
visual c++中程序调试之断点跟踪

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 22:40:26 Browse times: 289 Comment times: 0

visual c++中程序调试之断点跟踪


Head photo

Go homepage
Upload pictures
Write articles

visual c++中程序调试之断点跟踪

断点跟踪
在调试程序时,经常在程序可能出现错误的地方设置一个断点。在调试状态下运行程序时,当程序执行到断点处,会产生中断,使用户有机会查看此时程序的运行状态。
在Visual C++中设置断点非常简单,在代码编辑器中选择欲设置断点的代码行,按F9键即可设置一个断点。如果用户想要设置复杂的断点,可以按Ctrl+B组合键打开断点窗口。断点窗口包含了3个选项卡,其中每个选项卡包含了一种设置断点的方法。断点窗口如图1所示。

图1 断点窗口
断点窗口中列出了当前工程中的所有断点,用户可以单击“Remove”或“Remove All”按钮移除某个断点或所有断点。
1.设置条件断点
在设计断点时,可能需要设置一个条件断点。所谓条件断点,是在变量或表达式符合断点条件时才产生中断,进入调试阶段。示例如下。
(1)编写代码如下。
int sum = 0;
for ( int i = 0;i <10;i++)
{
sum+= i;
}
(2)按Ctrl+B组合键打开断点窗口,在“sum+= i”行处设置一个段点,如图2所示。

图2 设置条件断点
(3)单击“Conditon”按钮,打开断点条件窗口,在该窗口中设置断点条件,如图3所示。

图3 断点条件窗口
(4)运行程序,执行代码,当变量i等于2时将产生中断,如图4所示。

图4 系统中断
2.设置数据断点
数据断点只能在Breakpoints对话框中设置。选择“Data”选项卡,就显示了设置数据断点的对话框。在编辑框中输入一个表达式,当这个表达式的值发生变化时,数据断点就到达。一般情况下,这个表达式应该由运算符和全局变量构成。示例如下:
(1)定义一个全局变量,其代码如下:
void CDebugDlg::OnOK()
{
int sum = 0;
for ( i = 0;i <10;i++)//i为一个整型全局变量
{
sum+= i;
}
}
(2)按Ctrl+B组合键打开断点窗口,选择“Data”选项卡,在编辑框中输入全局变量i,如图5所示。

图5 设置数据断点
(3)单击“OK”按钮保存设置。运行程序,当程序试图改变变量i的值时将产生中断,进入调试阶段,如图6所示。

图6 产生中断
(4)单击“确定”按钮,程序将停留在“改变i值”的代码处,如图7所示。

图7 代码编辑器
3.设置消息断点
Visual C++也支持对Windows消息进行截获,有两种方式进行截获:窗口消息处理函数和特定消息中断。在“Breakpoints”对话框中选择“Messages”选项卡,就可以设置消息断点。如果采用窗口消息处理方式,那么每次消息被这个函数处理,断点就到达;如果采用特定消息中断方式,则每次指定的消息到达,程序就中断。





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.