vxworks錯誤狀態

錯誤狀態庫:errnoLib

vxworks的errno值由4字節組成,高字節表示發生錯誤的庫,我們可以從target/src/vwModNum.h查看。低字節表示庫的具體錯誤,在相應的庫的頭文件中定義。

獲取errno

錯誤發生時,可以通過shell獲取errno的值。例如可以通過命令i的獲取的任務列表中的ERRNO項表示任務最近調用庫發生的錯誤的errno值。

解釋ERRNO

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

發佈了28 篇原創文章 · 獲贊 19 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章