vxworks错误状态

时间:2024-04-03 08:49:35

错误状态库:errnoLib

vxworks错误状态

vxworks的errno值由4字节组成,高字节表示发生错误的库,我们可以从target/src/vwModNum.h查看。低字节表示库的具体错误,在相应的库的头文件中定义。

vxworks错误状态

获取errno

错误发生时,可以通过shell获取errno的值。例如可以通过命令i的获取的任务列表中的ERRNO项表示任务最近调用库发生的错误的errno值。

vxworks错误状态

解释ERRNO

vxworks错误状态

如果shell中不支持printErrno,也可以手动查找头文件找到错误信息。“d0009”,在vwModNUm.h查找d对应的库,d十进制为13,找到

#define M_iosLib        (13 << 16)

再去iosLib库的头文件中去找具体错误。其中0009对应的宏定义是这样的:

#define S_iosLib_INVALID_FILE_DESCRIPTOR    EBADF    /* NOSTATTBL */

INVALID_FILE_DESCRIPTOR就是用户要知道的错误信息

参考:vxworks程序开发实践   3.4符号表