怎样调试C++代码

2025-04-22 01:40:31

学会代码调试是每个程序员必须掌握的一项技能。通过调试,我们可以发现代码中隐藏的问题或者缺陷,从而使写出来的程序更加强壮和稳定。那么,怎样调试C++代码呢?下面,就以VS为例,来给大家演示调试C++代码的方法。

怎样调试C++代码

工具/原料

VS

一、打印当前变量值

1、在程序运行过程中,如果能知道当前某个表达式或变量的值,就能更好地判断程序是否正常执行或者判断问题的所在。那么,这该怎么做呢?

2、比如,有如图所示的一段代码,当程序运行到某个断点时,我想知道其中某个变量的值是多少。

怎样调试C++代码

3、一个比较通用的方法是首先在底部的调试窗口中切换到“监视”选项卡。

怎样调试C++代码

4、然后在名称一栏点击一下鼠标,输入需要显示的表达式或变量名,回车,即可显示其值。

怎样调试C++代码

5、当然,查看的表达式或变量不限于一个,你可以同时查看多个,并且还可以在查看值的同时看到它们的类型。

怎样调试C++代码

二、添加断言 _ASSERT

1、在某些情况下,我们可能希望在表达式或变量变成某个特定值时终止程序执行。比如说,当某稍僚敉视个变量变成 false 时终止程序,这就可以使用_ASSERT宏。_ASSERT宏的用法如下:它的唯一一个参数是一个布尔类型的表达式,当表达式的值为假时,程序终止执行。

怎样调试C++代码

2、例如,在我们下面的示例中,我们希望当 Hashtable[Pos].bEmpty 为假时终止程序的执行,则可添加一句代码:_ASSERT(Hashtable[Pos].bEmpty);

怎样调试C++代码

3、这样,当程序运行时出现Hashtable[Pos].bEmpty 为假的情况,就会弹出提示框终止运行。

怎样调试C++代码

三、使用 GetLastError函数得到错误信息

1、在进行代码调试时,GetLastError是一个非常好用的函数,尤其是当怎么也找不出错误时,使用此函数常常“柳暗花明又一村”。该函数无需提供参数,不过,它的返回值能够给出一个错误代码。通过查询这个错误代码,我们常常能够找出代码出问题的原因。

怎样调试C++代码

2、例如,在一个对话框程序中,编译通过,但怎么也不弹出对话框来,令人百思不得其解。为了查找原因,我们可以在DialogBox函剞麽苍足数后添加一句 GetLastError ,并在该处设一个断点,查看一下GetLastError的返回值,以确定究竟是哪儿出了问题。

怎样调试C++代码

3、我们根据返回的错误代码,对比windows错误代码表,很快就找到错误原因。原来,是对话框的样式设成子窗口样式了。

怎样调试C++代码
怎样调试C++代码
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢