C语言 ——— 实用调试技巧(Visual Studio)

目录

[Debug 和 Release 的区别](#Debug 和 Release 的区别)

[F10 --- 逐过程调试 & F11 --- 逐语句调试](#F10 --- 逐过程调试 & F11 --- 逐语句调试)

[F9 --- 新建/切换断点 & F5 --- 开始调试](#F9 --- 新建/切换断点 & F5 --- 开始调试)

[shift + F5 & ctrl + F5](#shift + F5 & ctrl + F5)


Debug 和 Release 的区别

Debug:通常为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序

Release:为发布版本,它进行了各种优化,使得程序载代码大小和运行速度上都是最优的,以便于用户很好的使用


F10 --- 逐过程调试 & F11 --- 逐语句调试

main函数 内部的条件语句或者判断语句,使用 F10 或者 F11 都没有区别

只有当 main函数 中有函数调用 时,F10F11 才会有区别

F10遇函数调用时:

当调试箭头指向函数调用时按下F10,会直接走过函数,并完成函数中的代码

F11遇函数调用时:

当调试箭头指向函数调用时按下F11,会进入函数内部,能观察到函数内部的细节


F9 --- 新建/切换断点 & F5 --- 开始调试

F5F9 通常是配合使用,先使用 F9 打断点,再使用 F5 调试

直接打断点:

这是一个打印二维数组的每一位的代码,使用 F9 将断点打到 printf函数 的地方,那么按下 F5 时调试箭头就会直接指向断点处,且断点处以上的代码已经执行完毕

打断点时设置参数:

打上断点后 -> 右击鼠标 -> 点击条件

断点设置为 i == 2 ,此时 F5 运行时,会直接运行到当i == 2时的逻辑,且断点前的代码已经运行完毕


shift + F5 & ctrl + F5

shift + F5: 当你在调试程序时,按下 shift + F5 就会终止调试

ctrl + F5:开始执行,不调试,直接执行完代码,且不会调试

相关推荐
计算机安禾18 小时前
【数据结构与算法】第3篇:C语言核心机制回顾(二):动态内存管理与typedef
c语言·开发语言·数据结构·c++·算法·链表·visual studio
m0_716765231 天前
C++提高编程--STL初识、string容器详解
java·开发语言·c++·经验分享·学习·青少年编程·visual studio
计算机安禾1 天前
【数据结构与算法】第4篇:算法效率衡量:时间复杂度和空间复杂度
java·c语言·开发语言·数据结构·c++·算法·visual studio
计算机安禾2 天前
【数据结构与算法】第1篇:为什么要学习数据结构与算法?专栏导学
c语言·开发语言·c++·学习·算法·visual studio code·visual studio
计算机安禾2 天前
【数据结构与算法】第2篇:C语言核心机制回顾(一):指针、数组与结构体
c语言·开发语言·数据结构·c++·算法·链表·visual studio
计算机安禾3 天前
【C语言程序设计】第39篇:预处理器与宏定义
c语言·开发语言·c++·vscode·算法·visual studio code·visual studio
楼田莉子3 天前
C++高并发内存池:内存池调优与测试
c++·后端·哈希算法·visual studio
承渊政道3 天前
【优选算法】(实战体验滑动窗口的奇妙之旅)
c语言·c++·笔记·学习·算法·leetcode·visual studio
楼田莉子3 天前
C++高性能并发内存池:三种Cache的设计及其内存申请释放
c++·后端·链表·哈希算法·visual studio
无限进步_4 天前
【C++】单词反转算法详解:原地操作与边界处理
java·开发语言·c++·git·算法·github·visual studio