C语言调试实用技巧之 2

简介: C语言调试实用技巧之 2

导言:

今天也给大家介绍一些调试技巧

1.如何写出好(易于调试)的代码

1.1标准:

1.2推荐技巧

1.2.1assert()//断言

用assert代替if语句

提示:assert是宏,不是函数

需要包含的头文件<assert.h>

assert(表达式)

如果表达式为假,程序就会报错:”断言失败“

如:assert(dest != NULL);

提示:

a 在debug版本中,if在任何情况下都会执行,浪费时间

在release版本,assert语句会自动优化掉,所以assert更好

b strcpy函数不考虑目标空间的大小,它只会执行,一旦目标空间过小,程序能编译,只是会崩溃

1.2.2const

1.2.2.1const修饰变量

const位于*的右边

概念:

const修饰的变量,是在语法层面限制了const修改,即无法再改变

警告:

如果想改变的话,可以把其地址取出来,再通过解引用操作改变它。虽然这么做能实现目的,但这是违法操作。

1.2.2.2const修饰指针

const位于的左边
限制的是
p,即p指向的对象

此时无法改变p指向的对象

关于const的使用的题目可以看我的另一篇文章中的第三题

点击此处跳转

常见错误

程序运行过程图解:

2.1编译型错误(语法错误)

最好修改的代码。

双击错误提示信息即可找到错误位置

2.2链接型(LNK)错误

格式:“无法解析的…………”

a 头文件没包含

b 符号名写错了

c 没有这个符号

2.3运行时错误

只能借助于调试解决

结语

调试的相关技巧和方法到这里就结束了,我们下次见。

相关文章
|
7月前
|
C语言
C语言使用宏定义实现等级调试输出PRINT_LEVEL
C语言使用宏定义实现等级调试输出PRINT_LEVEL
142 0
|
23天前
|
NoSQL 编译器 C语言
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。
C语言调试是开发中的重要技能,涵盖基本技巧如打印输出、断点调试和单步执行,以及使用GCC、GDB、Visual Studio和Eclipse CDT等工具。高级技巧包括内存检查、性能分析和符号调试。通过实践案例学习如何有效定位和解决问题,同时注意保持耐心、合理利用工具、记录过程并避免过度调试,以提高编程能力和开发效率。
38 1
|
25天前
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
42 2
|
2月前
|
C语言
C语言调试
C语言调试
24 0
|
4月前
|
C语言 索引
C语言编译环境中的 调试功能及常见错误提示
这篇文章介绍了C语言编译环境中的调试功能,包括快捷键操作、块操作、查找替换等,并详细分析了编译中常见的错误类型及其解决方法,同时提供了常见错误信息的索引供参考。
|
6月前
|
存储 编译器 C语言
C语言学习记录——调试技巧(VS2019环境下)
C语言学习记录——调试技巧(VS2019环境下)
61 2
|
7月前
|
程序员 C语言 C++
C语言实用的调试技巧
C语言实用的调试技巧
55 3
|
6月前
|
程序员 编译器 C语言
C语言中的assert.h:调试助手与断言详解
C语言中的assert.h:调试助手与断言详解
|
7月前
|
程序员 编译器 测试技术
C语言初阶⑨(调试)(如何写出好的代码)(模拟实现strcpy和strlen)
C语言初阶⑨(调试)(如何写出好的代码)(模拟实现strcpy和strlen)
58 1
|
7月前
|
程序员 C语言 C++
C语言——调试技巧
C语言——调试技巧