C语言学习--断点调试

提示:断点调试作为一种重要的调试技术,能够帮助程序员逐行分析代码的执行过程,查找潜在的 Bug,并最终解决问题。

目录

前言

13.1 一个实际需求

13.2 断点调试介绍

13.3 断点调试的快捷键

13.4 断点调试应用案例 1

13.5 断点调试应用案例 2

13.6 断点调试应用案例 3

13.7 断点调试应用案例 4

总结

附录


前言

在软件开发过程中,调试代码是不可避免的一部分。尤其是在面对复杂问题或难以察觉的错误时,普通的代码检查往往难以发现问题的根源。这时候,断点调试作为一种重要的调试技术,能够帮助程序员逐行分析代码的执行过程,查找潜在的 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 循环了~~");

}

63d63af9804146e38bbeb53379ec3438.png

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 设计者是怎么实现的。(提高编程思想)。

d51ee4f870814b528cf3d918e24ec226.png

13.7 断点调试应用案例 4

eaf32af31c3b4ad7b44b090339df9699.png


总结

通过本章的学习,我们深入了解了断点调试的基本操作和应用场景。我们通过实际案例演示了如何利用断点调试分析变量变化、检测数组越界问题、以及深入函数体内查看代码执行过程等实用技巧。这些调试技巧不仅能够帮助我们迅速定位问题,还能促使我们对代码的执行过程有更深层次的理解。断点调试作为一项必备技能,对于提高程序员的调试效率和编程水平至关重要。在今后的开发工作中,熟练应用断点调试,将使我们更加从容应对各种复杂的编程挑战。

附录

参考:【尚硅谷C语言零基础快速入门教程-哔哩哔哩】 https://b23.tv/vS3vTDp

 

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值