目录
这期会介绍如何进行程序调试跟非调试运行
调试是什么
C语言的调试是指在程序开发过程中,通过特定的调试工具和技术来识别和修复代码中的错误(也称为bug)的过程。调试是软件开发生命周期中的一个重要环节,它帮助开发者确保程序按照预期的方式运行。以下是C语言调试中的一些关键方面:
-
编译器警告和错误
- 在编译阶段,编译器会提供关于语法错误、类型不匹配、未定义的行为等的反馈。
-
静态分析工具
- 使用静态代码分析工具可以在不运行代码的情况下检测潜在的问题。
-
运行时调试
- 在程序运行时,使用调试器来检查程序的行为,包括变量的值、程序的流程和系统资源的使用。
-
断点
- 在调试器中设置断点,允许开发者暂停程序的执行并在特定的代码位置检查状态。
-
步进执行
- 调试器允许开发者逐行执行代码(步进),逐步跟踪程序的执行流程。
-
观察和监视
- 在调试过程中,可以观察和监视变量的值、内存的使用情况以及函数调用的顺序。
-
内存调试
- 检测内存泄漏、栈溢出、缓冲区溢出和其他内存相关的问题。
-
日志记录
- 在代码中添加日志语句,记录程序运行时的关键信息,帮助分析问题。
-
条件和监视点
- 在调试器中设置条件断点,仅在满足特定条件时才触发断点。
-
调用栈跟踪
- 查看函数调用的顺序和层次,理解程序的执行路径。
-
性能分析
-
评估程序的性能,识别瓶颈和优化代码。
-
-
图形化调试工具
- 使用图形界面的调试工具,如 gdb 的 GUI 版本、Visual Studio Debugger、CLion Debugger 等,可以更方便地进行调试。
-
单元测试
- 编写和运行单元测试来验证代码的各个部分是否按预期工作。
-
集成和系统测试
- 在更广泛的上下文中测试代码,确保它与其他系统组件正确交互。
-
代码审查
- 通过人工或自动化工具审查代码,以查找潜在的错误和改进代码质量。
调试是一个迭代的过程,通常需要多次运行和修改代码才能找到并修复所有的问题。有效的调试技巧和工具可以显著提高开发效率和程序质量。
编写测试代码
#include <stdio.h>
int main(){
printf("Hello world!");
return 0;
}
启动调试
运行-启动调试
这是我们上期装的编译器
Windows - C 语言开发环境 llvm-mingw + vscode (零基础超适用)
打断点
也就是点击要测试的代码的最左边
总之小量代码测试不出,得换成大量的来
非调试模式
点击调试文件
这是我们上期装的编译器
Windows - C 语言开发环境 llvm-mingw + vscode (零基础超适用)
(到底啦)