设置了断点,就可以观察程序的运行情况了,其中很重要的一点就是查看相关变量的值,这足以发现大部分逻辑错误。

将下面的代码复制到源文件中:

在第7行和第12行插入断点。运行到第一个断点时,在局部变量窗口可以看到各个变量的值:

可以看到,未经初始化的局部变量和数组的值都是垃圾值,是随机的,没有意义。双击变量的值,可以进行修改。

点击“运行”按钮或按F5键,程序会运行到下一个断点位置,在局部变量窗口可以看到各个值的变化:

更加快捷的方式

除了在窗口中查看变量,还有一种更加便捷的方法:在调试模式下,把鼠标移动到要查看的变量的上方,即可看他它的值。如下图所示:

如果是数组、指针、结构体等还可以展开,如下图所示:

这种查看变量的方式在实际开发中使用很多。

添加监视

如果你希望长时间观测某个变量,还可以将该变量添加到监视窗口。在要监视的变量处单击鼠标右键,弹出如下菜单:

选择“添加监视”,在VS下方的监视窗口就可以看到当前变量:

这样,每次变量的值被改变都会反映到该窗口中,无需再将鼠标移动到变量上方查看其值。尤其是当程序稍大时,往往需要同时观测多个变量的值,添加监视的方式就会显得非常方便。

第十二章 C语言调试_查看和修改变量的值相关推荐

  1. 第十二章 C语言调试_调试的概念以及调试器的选择

    所谓调试(Dubug),就是跟踪程序的运行过程,从而发现程序的逻辑错误(思路错误),或者隐藏的缺陷(Bug). 在调试的过程中,我们可以监控程序的每一个细节,包括变量的值.函数的调用过程.内存中数据. ...

  2. 第十二章 C语言调试_assert断言函数

    在我们的实际开发过程之中,常常会出现一些隐藏得很深的BUG,或者是一些概率性发生的BUG,通常这些BUG在我们调试的过程中不会出现很明显的问题,但是如果我们将其发布,在用户的各种运行环境下,这些程序可 ...

  3. 《深入浅出数据分析》第十二章——R语言lattice数据包

    文章目录 R语言 一.lattice数据包 二.jitter() R语言 这章比较重要的点就是lattice数据包. 然后就着重写一下这里. 一.lattice数据包 lattice包是一个非常强大的 ...

  4. 【维生素C语言】第十二章 - C语言自定义类型讲解(联合体、枚举、联合体)

    原标题:自定义类型讲解?楼下保安大爷直呼内行!![C语言] 前言: 本章将对C语言自定义类型进行讲解,前期我们讲过结构体,这章将会把前面结构体还没讲完的知识继续补充. 一.结构体(struct) 结构 ...

  5. 第三十二章 XML基础知识概念

    文章目录 第三十二章 XML基础知识概念 attribute CDATA区域 comment content model default namespace DOM DTD(文档类型定义) eleme ...

  6. 第十二章 使用嵌入式SQL(三)

    文章目录 第十二章 使用嵌入式SQL(三) 主机变量 主机变量示例 用列号下标的主机变量 `NULL`和未定义的主机变量 主机变量的有效性 主机变量和程序块 第十二章 使用嵌入式SQL(三) 主机变量 ...

  7. 第十二章_网络搭建及训练

    文章目录 第十二章 网络搭建及训练 CNN训练注意事项 第十二章 TensorFlow.pytorch和caffe介绍 12.1 TensorFlow 12.1.1 TensorFlow是什么? 12 ...

  8. stm32 文件系统dma大小_「正点原子NANO STM32F103开发板资料连载」第二十二章 DMA 实验...

    1)实验平台:[正点原子] NANO STM32F103 开发板 2)摘自<正点原子STM32 F1 开发指南(NANO 板-HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 ...

  9. 简述sd卡2.0协议_【正点原子FPGA连载】第十二章SD卡读写TXT文本实验-领航者 ZYNQ 之嵌入式开发指南...

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

最新文章

  1. java对话框背景图片插入_关于java编程窗体加背景图片的问题
  2. Redis分布式锁的正确实现方式(Java版)
  3. AI公开课:19.04.18俞益洲—深睿医疗CS《计算机视觉的应用与落地》课堂笔记以及个人感悟
  4. Photoshop 保存PNG格式交错和不交错有差别
  5. python格式字符_python格式字符
  6. linux系统认不到设备,linux中/dev/找不到设备
  7. .Net Attribute特性
  8. 基于蚁群算法求解求解TSP问题(JAVA)
  9. 一个伤心人的帖和一群搞笑的跟帖
  10. 华为FusionSphere虚拟化解决方案介绍
  11. java 图片清晰度_Java 图片处理——如何生成高清晰度而占有磁盘小的缩略图
  12. 美团Robust热修复工具使用记录
  13. 使用OpenCV库函数将图片合成视频
  14. 2020-06-03 Javase 常用api
  15. 深度解析vivoX20四大创新突破!小米Mix2望尘莫及,雷军慌了
  16. Cannot find module ‘XXX‘的解决办法
  17. 如何提取CAD图纸里的标注?CAD文件标注提取方法分享
  18. 运用MATLAB探索上证指数(1990-2022)基本特征:走势、损益、回报率、自相关
  19. IDEA 2017.2输入法候选框不跟随光标的问题 Windows 7 旗舰版
  20. 5.20下周黄金行情走势分析及开盘独家交易策略

热门文章

  1. 百度Apollo源码学习之Bazel编译介绍
  2. 聊聊在Vue项目中使用Decorator装饰器
  3. android刷ios,安卓刷ios方法教程【详解】
  4. 使用C#实现邮箱验证
  5. Rstudio中关于R script的操作
  6. 手把手系列之二——手把手教你做春卷
  7. 网站服务器搭建百青藤,百青藤服务器搭建
  8. 元宇宙乘风而来,人工智能落地如何“去虚向实”?
  9. 在Google搜索结果显示原始链接
  10. 【-Flutter/Dart 语法补遗-】 sync* 和 async* 、yield 和yield* 、async 和 await