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运行时错误

只能借助于调试解决

结语

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

相关文章
|
1月前
|
C语言 索引
C语言编译环境中的 调试功能及常见错误提示
这篇文章介绍了C语言编译环境中的调试功能,包括快捷键操作、块操作、查找替换等,并详细分析了编译中常见的错误类型及其解决方法,同时提供了常见错误信息的索引供参考。
|
4月前
|
C语言
C语言使用宏定义实现等级调试输出PRINT_LEVEL
C语言使用宏定义实现等级调试输出PRINT_LEVEL
|
3月前
|
存储 编译器 C语言
C语言学习记录——调试技巧(VS2019环境下)
C语言学习记录——调试技巧(VS2019环境下)
42 2
|
3月前
|
程序员 编译器 C语言
C语言中的assert.h:调试助手与断言详解
C语言中的assert.h:调试助手与断言详解
|
4月前
|
程序员 C语言 C++
C语言实用的调试技巧
C语言实用的调试技巧
33 3
|
4月前
|
程序员 编译器 测试技术
C语言初阶⑨(调试)(如何写出好的代码)(模拟实现strcpy和strlen)
C语言初阶⑨(调试)(如何写出好的代码)(模拟实现strcpy和strlen)
37 1
|
4月前
|
程序员 C语言 C++
C语言——调试技巧
C语言——调试技巧
|
4月前
|
程序员 编译器 C语言
编程最重要的技术之一 — 调试(以C语言代码为例)
编程最重要的技术之一 — 调试(以C语言代码为例)
72 0
|
4月前
|
存储 程序员 编译器
C语言第十三弹---VS使用调试技巧
C语言第十三弹---VS使用调试技巧
|
4月前
|
存储 程序员 编译器
c语言从入门到实战——VS2022实用调试技巧
Visual Studio是集成开发环境,其内置了多种调试工具和技巧帮助开发人员在开发过程中解决问题。以下是一些VS实用调试技巧的简介
114 0