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

简介: 从代码角度,带你手把手调试(上)

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.调试的基本步骤

image.png



3.Debug版本和Release版本

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

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




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

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




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

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




5.设置条件断点

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

image.png

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



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

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



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;
}
复制代码

image.pngi不能变为12


调试结果:

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


相关文章
|
7月前
|
缓存
Quarto 入门教程 (3):细节设置
Quarto 入门教程 (3):细节设置
256 1
|
7月前
|
前端开发 测试技术 UED
前端知识(十四)——浅谈用户体验测试的主要功能
前端知识(十四)——浅谈用户体验测试的主要功能
138 0
|
开发框架 .NET C#
【C#编程最佳实践 十四】VS调试最佳实践
【C#编程最佳实践 十四】VS调试最佳实践
80 0
|
前端开发 小程序 IDE
「趣学前端」给不懂技术的朋友简单演示,代码是怎么被编写出来的
我身边不乏非程序员的朋友,对我的工作多多少少带点好奇心。突发奇想,准备了一个小功能,简单演示前端日常开发中的代码是怎么被编写出来的。
165 1
|
存储 JSON 前端开发
案例开发-前端开发及调试(二)| 学习笔记
快速学习案例开发-前端开发及调试。
案例开发-前端开发及调试(二)| 学习笔记
|
JavaScript 前端开发 Java
案例开发-前端开发及调试(一)| 学习笔记
快速学习案例开发-前端开发及调试。
案例开发-前端开发及调试(一)| 学习笔记
|
负载均衡 前端开发 JavaScript
接口测试平台代码实现85: 多接口用例-25:博主巧计求点赞,优化章节水漫天
本节课会对多用例模块进行最后的优化等,内容不多。本教程基本都是最浅显和基础的一期产品,后续能优化到什么程度,全看各位的造诣了。
接口测试平台代码实现85: 多接口用例-25:博主巧计求点赞,优化章节水漫天
|
存储 搜索推荐 Java
怎么阅读源码【调试观察源码】
怎么阅读源码【调试观察源码】
187 0
怎么阅读源码【调试观察源码】
|
程序员
从代码角度,带你手把手调试(下)
从代码角度,带你手把手调试(下)
212 0
从代码角度,带你手把手调试(下)
比心源码如何开发,这个功能要会实现
说到比心源码,不如讲讲比心源码实现聊天室功能该怎么做?
比心源码如何开发,这个功能要会实现
下一篇
DataWorks