提示:断点调试作为一种重要的调试技术,能够帮助程序员逐行分析代码的执行过程,查找潜在的 Bug,并最终解决问题。
目录
前言
在软件开发过程中,调试代码是不可避免的一部分。尤其是在面对复杂问题或难以察觉的错误时,普通的代码检查往往难以发现问题的根源。这时候,断点调试作为一种重要的调试技术,能够帮助程序员逐行分析代码的执行过程,查找潜在的 Bug,并最终解决问题。这章将详细介绍断点调试的基本概念、快捷键操作以及通过实际案例演示断点调试的应用。掌握断点调试技能不仅能够提高代码调试效率,还能帮助程序员更深入地理解代码的执行逻辑,进而提升编程能力
13.1 一个实际需求
在开发中,程序员发现一个非常诡异的错误,怎么看源代码都发现不了这个错误,这时老程序员就会温馨提示,可以使用断点调试,一步一步的看源码执行的过程,从而发现错误所在。
13.2 断点调试介绍
断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。然后程序可以进行分析从而找到这个 Bug【百度百科】
断点调试是程序员必须掌握的重要的技能。
使用断点调试也能帮助我们最终查看 C 程序源代码的执行过程,提高程序员的水平
13.3 断点调试的快捷键
f5: 开始调试 、执行到下一个断点
f11: 逐句执行代码, 会进入到函数体中
f10: 逐过程执行(遇到函数,不会进入到函数体)
shift+f11: 跳出(跳出某个函数, 跳出前,会将该函数执行完)
shift+f5: 终止调试
13.4 断点调试应用案例 1
看一下变量的变化情况等
void main() {
int sum = 0; //断点下在这里,然后使用 f10(逐过程执行, 可以看到各个变量的变化情况)
int i = 0;
for(i = 0; i < 10; i++) {
sum += i;
printf("\n i=%d", i);
printf("\n sum=%d", sum);
}
printf("退出 for 循环了~~");
}
13.5 断点调试应用案例 2
看一下数组越界的情况, 当数组越界后,会输出一个未知的值
void main() {
int arr[] = {1,2,3,4,5};
int i = 0;
int len = sizeof(arr) / sizeof(int);
for(i = 0; i <= len; i++) {
printf("\narr[%d]=%d", i, arr[i]);
}
}
13.6 断点调试应用案例 3
演示如何进入到调用的函数体内,f11(进入到函数体) , shift + f11 (跳出函数)
看看 C 设计者是怎么实现的。(提高编程思想)。
13.7 断点调试应用案例 4
总结
通过本章的学习,我们深入了解了断点调试的基本操作和应用场景。我们通过实际案例演示了如何利用断点调试分析变量变化、检测数组越界问题、以及深入函数体内查看代码执行过程等实用技巧。这些调试技巧不仅能够帮助我们迅速定位问题,还能促使我们对代码的执行过程有更深层次的理解。断点调试作为一项必备技能,对于提高程序员的调试效率和编程水平至关重要。在今后的开发工作中,熟练应用断点调试,将使我们更加从容应对各种复杂的编程挑战。
附录
参考:【尚硅谷C语言零基础快速入门教程-哔哩哔哩】 https://b23.tv/vS3vTDp