RK3568平台(基础篇)linux错误码

一.概述

linux应用程序开发过程中,经常会遇到一些错误信息的返回,存在的可能性有,参数有误、非法访问、系统资源限制、设备/文件不存在、访问权限限制等等。对于这类错误,可以通过perror函数输出具体描述,或者通过strerror函数,将错误码转换为具体描述字符。linux函数调用失败时,错误码存放于一个全局变量errno中。

二.将错误码转换为具体错误描述

复制代码
#include <errno.h>
#include <string.h>
char *strerror(int errno);

/* 使用伪代码 */
ret = ioctl(fd, SIOCGIFCONF, (char*)&ifc);
if(ret)
{
	printf("ioctl failed,%s\n", strerror(errno));
}

然而一些情况下,为了节约存储空间;或者为了不让用户直接看到详细的错误信息描述,我们期望是输出一个错误码到日志文件中,运维或者开发人员根据具体错误码找到对应的错误信息描述。

三.错误码翻译表

对于4.15 linux内核版本,错误码定义文件路径如下,不同版本内核可能不一样,特别是相对较旧版本的内核。

基本错误码定义位于"include/uapi/asm-generic/errno-base.h"

其他错误码定义位于"include/uapi/asm-generic/errno.h"

错误码翻译:

相关推荐
蛋蛋的就会顺顺的7 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
贵州诚鑫致达科技有限公司7 小时前
Linux的yum源怎么重启?源不是服务
linux·运维·服务器
需要8268 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
小 黄 鸡8 小时前
HashMap 面试必会知识点详解(JDK 8)
java·面试·职场和发展
遇印记9 小时前
传输层,网络层
运维·服务器·网络·windows·学习
品牌常新9 小时前
景区巡逻机器人怎么选?派宝S5全地形守护解析
运维·人工智能·机器人
Elastic 中国社区官方博客9 小时前
一条 ES|QL 查询,涵盖365天的审计日志:在热数据和可搜索快照上执行相同的搜索
大数据·运维·服务器·elasticsearch·搜索引擎·全文检索
伯恩bourne10 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
silvamux_10 小时前
curl 测试 OpenAI 兼容 API 的完整流程
java·人工智能·缓存·ai·oneapi