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,所以造成了死循环