怎样调试C++代码

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

一、打印当前变量值

  • 01

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

  • 02

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

  • 03

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

  • 04

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

  • 05

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

二、添加断言 _ASSERT

  • 01

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

  • 02

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

  • 03

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

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

  • 01

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

  • 02

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

  • 03

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

(0)

相关推荐

  • Notepad++怎么连接浏览器调试以及代码辅助?

    Notepad++怎么连接浏览器调试以及代码辅助?使用Notepad++ 编写程序是纯手工的情怀,有利于编程人员牢记.下面给大家介绍亲测的代码辅助和连接浏览器并输出代码效果 一.设置Notepad++ ...

  • 如何调试C++代码

    在学习C++编程的过程中,掌握好调试技术是查找并修复程序错误.优化程序性能的关键手段之一.该如何进行代码的调试呢? 下面我们以一个 C++ 程序为例,来向大家介绍调试找错的方法. 操作方法 01 我们 ...

  • Visual Studio中11个强大的调试技巧和方法

    调试是软件开发周期中很重要的一部分。它具有挑战性,同时也很让人疑惑和烦恼。总的来说,对于稍大一点的程序,调试是不可避免的。最近几年,调试工具的发展让很多调试任务变的越来越简单和省时。 这篇文章总结了可 ...

  • EditPlus配置PHP调试环境详细图文介绍

    熟悉PHP以后,使用EditPlus还是比较舒服的,当然也可以通过插件和设置把EditPlus配置为可以动态查看帮助、代码调试和代码自动补全的超轻量级IDE。 首先PHP他是一种语言。作为语言,本身的 ...

  • 谷歌浏览器怎么调试js

    首先我们打开开发者工具,你可以直接在页面上点击右键,然后选择审查元素或者在Chrome的工具中找到或者你直接记住这个快捷方式: Ctrl+Shift+I (或者Ctrl+Shift+J直接打开控制台) ...

  • win7/win8系统调试IE11浏览器JS脚本的方法

    win7/win8系统调试IE11浏览器JS脚本的方法

  • Linux 系统内核的调试详解

    调试是软件开发过程中一个必不可少的环节,在 Linux 内核开发的过程中也不可避免地会面对如何调试内核的问题.但是,Linux 系统的开发者出于保证内核代码正确性的考虑,不愿意在 Linux 内核源代 ...

  • Visual Studio Code Python 调试设置

    很意外Visual Studio Code居然支持Python代码的断点调试.一起来配置一下. 操作方法 01 首先,当然是要先安装插件,配置Python环境.这个大家看这个文章 02 环境配置完成后 ...

  • pycharm怎么debug调试

    pycharm怎么debug调试?在进行使用pycharm来进行编辑的代码的过程中,有进行运行代码,那么就会存在的是对代码上的进行代码debug调试的,小编告诉大家pycharm怎么debug调试? ...