vxworks错误状态

简介: vxworks错误状态

错误状态库:errnoLib


微信图片_20230116215320.png


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


微信图片_20230116215355.png


获取errno


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


微信图片_20230116215432.png


解释ERRNO


微信图片_20230116215509.png


如果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符号表


目录
相关文章
|
1月前
|
存储 负载均衡 网络协议
X86 linux异常处理与Ipipe接管中断/异常
本文讲述了X86平台上Xenomai的ipipe如何接管中断处理。首先回顾了X86中断处理机制,包括IDT(中断描述符表)的工作原理和中断处理流程。接着详细介绍了Linux中中断门的初始化,包括门描述符的结构、中断门的定义和填充,以及IDT的加载。在异常处理部分,文章讲解了早期异常处理和start_kernel阶段的异常向量初始化。最后,讨论了APIC和SMP中断在IDT中的填充,以及剩余中断的统一处理。文章指出,ipipe通过在中断入口处插入`__ipipe_handle_irq()`函数,实现了对中断的拦截和优先处理,确保了实时性。
90 0
X86 linux异常处理与Ipipe接管中断/异常
|
1月前
|
监控 Linux Shell
|
1月前
|
监控 安全 API
7.3 Windows驱动开发:内核监视LoadImage映像回调
在笔者上一篇文章`《内核注册并监控对象回调》`介绍了如何运用`ObRegisterCallbacks`注册`进程与线程`回调,并通过该回调实现了`拦截`指定进行运行的效果,本章`LyShark`将带大家继续探索一个新的回调注册函数,`PsSetLoadImageNotifyRoutine`常用于注册`LoadImage`映像监视,当有模块被系统加载时则可以第一时间获取到加载模块信息,需要注意的是该回调函数内无法进行拦截,如需要拦截则需写入返回指令这部分内容将在下一章进行讲解,本章将主要实现对模块的监视功能。
63 0
7.3 Windows驱动开发:内核监视LoadImage映像回调
|
11月前
启动内核,能启动内核但是无法进入内核,始终卡在某一地方,比如 No soundcards found.
启动内核,能启动内核但是无法进入内核,始终卡在某一地方,比如 No soundcards found.
133 0
|
存储 安全
【操作系统】第二章:OS的启动和中断、异常、系统调用(一)
【操作系统】第二章:OS的启动和中断、异常、系统调用
300 0
|
Windows
驱动开发:内核扫描SSDT挂钩状态
在笔者上一篇文章`《驱动开发:内核实现SSDT挂钩与摘钩》`中介绍了如何对`SSDT`函数进行`Hook`挂钩与摘钩的,本章将继续实现一个新功能,如何`检测SSDT`函数是否挂钩,要实现检测`挂钩状态`有两种方式,第一种方式则是类似于`《驱动开发:摘除InlineHook内核钩子》`文章中所演示的通过读取函数的前16个字节与`原始字节`做对比来判断挂钩状态,另一种方式则是通过对比函数的`当前地址`与`起源地址`进行判断,为了提高检测准确性本章将采用两种方式混合检测。
186 0
|
存储 负载均衡 算法
Linux内核17-硬件如何处理中断和异常
Linux内核17-硬件如何处理中断和异常
|
安全 Java Linux
【操作系统】第二章:OS的启动和中断、异常、系统调用(二)
【操作系统】第二章:OS的启动和中断、异常、系统调用
147 0
|
存储 网络协议 算法
Linux 连接跟踪表满怎么处理
Linux 连接跟踪表满怎么处理?