linux-kernel – 内核中类似strerror的功能?

linux-kernel – 内核中类似strerror的功能?,第1张

概述目前内核中是否存在类似strerror的功能?我找不到一个,所以我的想法是否定的,但更重要的是,他们有没有讨论过这个问题?我认为它可以减少故障排除时间,因为你不必查找错误代码(并非每个人都记住了),并且可能使系统管理员和普通的日常用户(通过dmesg)更容易一些. 我想在邮寄LKML之前问这里.我的想法是一个双重机制,一个用于错误名称(例如,EINVAL),另一个用于描述.此外,%m glibc扩 目前内核中是否存在类似strerror的功能?我找不到一个,所以我的想法是否定的,但更重要的是,他们有没有讨论过这个问题?我认为它可以减少故障排除时间,因为你不必查找错误代码(并非每个人都记住了),并且可能使系统管理员和普通的日常用户(通过dmesg)更容易一些.

我想在邮寄LKML之前问这里.我的想法是一个双重机制,一个用于错误名称(例如,EINVAL),另一个用于描述.此外,%m glibc扩展可以添加到printk,除了它必须读取错误代码,因为glibc扩展读取errno.也许%m可以打印错误名称,而%M可以打印错误描述?

无论如何,如果添加它,它应该是.config选项,因为它会膨胀文本大小.只需将错误名称(当前为1到133)存储在单个字符串中,并在每个字符串之间存在空终止符,并且只是缓慢的strerror(强制遍历字符串并计算空终止符),因为速度可以缩小,因为速度这应该不重要.内部错误512-529必须位于单独的字符串中.然后,可以返回指向以null结尾的字符串的直接指针,而无需复制任何内容.根据我的计算,这将占用大约1322个字节的错误名称和3540个字节的描述(基于每个错误的#define之后的注释中的内容,并为当前缺少的那些添加“无描述”).

然后,当配置禁用时,printk%m可以解释为%d,%M可以只打印(或者某些).

解决方法 不,没有.但是您可以在include / asm-generic / errno.h和include / asm-generic / errno-base.h中看到错误代码列表.没有太多(少于200个),所以在开发过程中学习它们并不太难. 总结

以上是内存溢出为你收集整理的linux-kernel – 内核中类似strerror的功能?全部内容,希望文章能够帮你解决linux-kernel – 内核中类似strerror的功能?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1039928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存