嵌入式Linux开发---调试输出
·
前言:
无论是Linux开发还是Windows或者Mac os开发,在我们开发项目的过程中,必不可少的就是调试了,特别是开发嵌入式程序,由于资源条件的限制,调试程序变得更为困难。一般常用的由两种方法:
一:打印输出(包括控制台输出和日志文件输出)
二:GDB调试器
对于Linux平台来说,GDB调试命令行界面使用起来确实很不方便。所以一般更常用的是输出日志文件的方法,下面简单记录下调试输出信息的一个小技巧:
预定义调试输出宏+封装打印函数
举个栗子:
编写一个简单的测试程序test.c,
代码如下:
#include <stdio.h>
#define DEBUG //预定义调试宏
#ifdef DEBUG //封装打印函数
#define PRINT (printf("%s %s %d: ",__FILE__,__FUNCTION__,__LINE__),printf)
#else
#define PRINT
#endif
void run(int step){
PRINT("%s:%d\n","I run 100m need: ",step);
}
int main(){
int i = 6;
PRINT("%s\n","hello test!"); //调用封装好的打印函数
run(300);
return 0;
}
在Linux下编译:
gcc test.c -o test
执行程序:
./test
打印输出:

可看到输出符合我们的预期,大大简化了调试打印的过程。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)