写点什么

从代码角度,带你手把手调试

作者:芒果酱
  • 2022 年 7 月 14 日
  • 本文字数:885 字

    阅读完需:约 3 分钟

最近,想复习一下 C 语言,所以笔者将会在 Infoq 每天更新一篇关于 C 语言的文章! 各位初学 C 语言的大一新生,以及想要复习 C 语言/C++知识的不要错过哦! 夯实基础,慢下来就是快!





1.调试的快捷键

技巧:ctrl+H:替换
ctrl+F:查找
Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。
Ctrl+Shift+/ 块注释代码(按两次取消)
Ctrl+K+C 注释代码
Ctrl+K+U 取消注释代码
Ctrl+G 跳转到指定行
F5: 启动调试
Ctrl+F5: 开始执行(不调试)
Shift+F5: 停止调试
Ctrl+Shift+F5: 重启调试
F9: 切换断点
Ctrl+F9: 启用/停止断点
Ctrl+Shift+F9: 删除全部断点
F10: 逐过程
Ctrl+F10: 运行到光标处
F11: 逐语句
复制代码



2.调试的基本步骤



3.Debug 版本和 Release 版本

Debug 版本:调试版本 -可以调试


Release 版本: 发布版本-供用户使用的,不能调试




问:测试员测试的是什么版本?


->测试员测试的是 release 版本,站在用户的角度



4.F9 设置断点,F5 跳到断点处,先按 F9 设置断 点然后按 F5 跳到断点处

若有多个断点,按 F5 跳到下一个断点 这样可以跳过不需要调试的代码



5.设置条件断点

首先需要设置断点(F9),右键断点



当满足某个条件才触发断点




打多个断点时:先执行第一个断点内的内容,再执行下一个断点


若想从一个位置跳到另一个位置 ---- 先打一个断点 ->跳到该位置后,去掉断点,再打另一个



6.一个有问题的代码

int main(){  int i = 0;  int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };  for (i = 0; i <=12; i++)  {    arr[i] = 0;    printf("hehe\n");  }  return 0;}
复制代码


执行结果:死循环打印 hehe




为了发现问题:打印第几次打印


int main(){  int i = 0;  int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };  for (i = 0; i <=12; i++)  {    arr[i] = 0;    printf("hehe\n");    printf("第%d次打印\n",i);  }  return 0;}
复制代码



i 不能变为 12




调试结果:



将第数组元素下标为 12 的值也改成 0 时,i 也恢复为 0,所以造成了死循环


为什么呢?


这里就留个小问题,上一篇文章已经给大家解答啦,大家可以先斟酌思考一下再去看哦!


今天就先到这吧~感谢你能看到这里!希望对你有所帮助!欢迎老铁们点个关注订阅这个专题! 同时欢迎大佬们批评指正!

发布于: 刚刚阅读数: 4
用户头像

芒果酱

关注

我们都在努力奔跑,我们都是追梦人! 2022.02.14 加入

个人宣言:功崇惟志,业广惟勤 个人简介: 0.在校大学生 1.CSDN:C/C++领域新星创作者 2.掘金LV3创作者 3.华为云开发者社区云享专家 4.阿里云开发者社区专家博主 5.InfoQ创作者

评论

发布
暂无评论
从代码角度,带你手把手调试_7 月月更_芒果酱_InfoQ写作社区