999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VXWORKS跨平臺異常處理模塊的研究與實現

2014-11-15 02:50:14郭繼寧于恩祥
電子測試 2014年5期
關鍵詞:分析

郭繼寧,于恩祥

(渤海大學,遼寧錦州,121000)

0 引言

在VxWorks下,使用系統本身提供的接口函數ExcConnect()來進行異常處理只對PowerPC系列處理器有效,對目前使用同樣廣泛的Intel80x86系列處理器和ARM系列處理器無法提供有效支持。本文主要針對目前VxWorks異常機制可移植性差的問題,提出一種及時準確并且與具體處理器類型無關的捕捉異常的方法。

1 VxWorks下異常分析與處理

在VxWorks下如果使用默認的異常處理機制,處理結束后:產生異常的任務將被懸掛,且該消息將被傳送到控制臺。可以看出,如果不對異常進行處理,使用默認的異常處理方法,對于一個系統來說往往是致命的。所以我們必須對系統默認的異常處理方法進行修改和完善。

可以將異常處理流程分為以下5個階段:

1)一個軟件錯誤發生。

2)錯誤的原因和性質被一個異常對象攜帶。

3)程序檢測這個異常對象,或者允許它的存在,或者由其主動上報。

4)檢測代碼決定如何處理異常。

5)異常處理完畢,恢復程序并繼續執行。

2 跨平臺異常處理模塊的實現

2.1 整體實現方案

本文設計的異常處理模塊采用鉤子函數的方式接收操作系統傳入的異常現場;在內存的保留區保存傳入參數,并釋放信號量以激活守護任務;守護任務保存未解析的現場信息;采用堆棧回溯和匹配函數序言的方式進行函數調用鏈分析,將結果保存到內存保留區;若存在外部存儲介質,則將解析后的現場和函數調用鏈分析結果寫入文件;對應用層提供鉤子函數以實現恢復策略支持。

異常處理模塊的整個流程主要由兩部分組成:異常處理初始化流程和異常鉤子函數流程。初始化流程主要包括初始化全局變量和掛接異常處理鉤子函數。異常處理的處理過程設計如圖2所示:

2.2 “堆棧分析”

異常處理過程中的關鍵是“堆棧分析”,即使用堆棧回溯的方法實現現場分析,該功能的實現也是異常處理的難點。現場分析與處理器類型密切相關,需針對不同系列處理器分別分析異常類型、現場信息、運行棧結構、函數的序言和尾聲等內容。下面以x86處理器為例進行說明。

2.2.1 運行時堆棧結構

Intel80x86手冊中把指令執行時由CPU控制器產生的同步中斷稱為異常。異常是由程序的錯誤產生,或者由操作系統內核必須處理的異常條件所產生。通常,編譯器產生的代碼中對堆棧的結構和使用存在一個約定,其中一個重要的概念是堆棧幀(Stack Frame)或稱為活動記錄(Active Record)。一個堆棧幀就是運行棧中的一個存儲塊,它按照一定的規則描述了當前函數的調用信息,一個棧框架對應一次函數調用。Intel80x86的運行棧結構如圖2所示:

圖2 x86運行棧

2.2.2 函數序言與尾聲的匹配

代碼段中,特征十分明顯的函數序言恰好位于函數入口處,所以只要在機器碼代碼段找到函數序言就獲得了其入口地址。對一個幀的分析需要一個搜索指針,初始值為現場PC或被調函數幀的返回地址ret[i],指針沿代碼段向后(低地址)移動,直到匹配函數序言的第一條語句為止。這時該指針的值即為該函數的入口地址。因此,匹配到函數序言,就找到了函數的入口地址。函數的入口地址得到以后,通過VxWorks提供的函數symFindByValue()獲得函數名。前提是生成的系統映像中包括了系統符號表。

序言匹配的方法是:選擇一個位于代碼段中待分析的函數體內起點指針,向低地址方向移動該指針,直至找到函數序言為止。

2.3 異常拋出機制

異常拋出機制指的是:當用戶管理的數據結構出現嚴重錯誤時或用戶定義的全局變量失去一致時,用戶進程主動觸發一個事先給定的異常,然后由自定義的異常處理任務對該異常進行處理,并確定這個問題發生的進程位置。這種方案實現簡單,拋出的異常和硬件定義的異常采用同一套處理流程。異常拋出接口定義為:

其中,參數wEosExcNo為支撐統一定義的異常類型;dwFunc為拋出異常的處理函數。

3 結論

本文采用鉤子函數的方式接收操作系統傳入的異常現場,避免了對寄存器進行直接操作,從而實現了跨平臺獲取異常現場信息,使軟件異常處理的可移植性和健壯性大大增強。這種異常處理的設計具有很高的推廣和實用價值,目前已應用在航行數據記錄儀、列車運行監控記錄裝置的實時數據庫中。

圖1 異常處理的處理過程設計圖

[1]李玉深,周祖洋,萬楊.實時操作系統Vxworks下的異常處理[J].應用科技,2005,32(5):30-32.LI Yushen,ZHOU Zuyang,WAN Yang.Excep-tion handling under realtime system Vxworks[J].Applied Science and Technology,2005,32 (5):30-32.

[2]王運盛,王堅.VxWorks實時操作系統中的中斷處理機制分析[J].電訊技術,2007,47(4):178-181.WANG Yunsheng,WANG jian.Analysis of the Interrupt Handling Mechanism in Embeded Re-al-Time Operating System VxWorks[J].Teleco-mmunication Engineering,2007,47(4):178-181.

[3]王澤民,蘆東昕,謝鑫.基于VxWorks的異常處理的研究和實現[J].計算機工程,2005,31 (13):90-92.WANG Zemin,LU Dongxin, XIE xin.Study and Implementation of Exception Handling Bas-ed on VxWorks[J].Computer Engineering,200-5,31(13):90-92.

[4]孔祥營,柏桂枝.嵌入式實時操作系統VxWor-ks及其開發環境Tornado[M].北京:中國電力出版社,2001.KONG Xiangying,BAI Guizhi.Embedded real-time operating system VxWorks and Tornado development environment[M].Beijing:China El-ectric Power Press,2001.

[5]陳智育,溫彥軍,陳琪.VxWorks程序開發實踐[M].北京:人民郵電出版社,2004.CHEN Zhiyu,WEN Yanjun,CHEN Qi.VxWor-ks development practice[M].Beijing:Posts & Telecom Press, 2004.

[6]張曉鷗,毛玉明.VxWorks異常問題調試方法分析[C].中國西部青年通信學術會議論文集,成都:四川省電子學會,2006.ZHANG Xiaoou,MAO Yuming.VxWorks deb-ug exception analysis[C].The collection of the Chinese western youths’ communication acade-mic conference,Chengdu: Sichuan Institute of Electronics,2006.

猜你喜歡
分析
禽大腸桿菌病的分析、診斷和防治
隱蔽失效適航要求符合性驗證分析
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統及其自動化發展趨勢分析
經濟危機下的均衡與非均衡分析
對計劃生育必要性以及其貫徹實施的分析
現代農業(2016年5期)2016-02-28 18:42:46
GB/T 7714-2015 與GB/T 7714-2005對比分析
出版與印刷(2016年3期)2016-02-02 01:20:11
中西醫結合治療抑郁癥100例分析
偽造有價證券罪立法比較分析
在線教育與MOOC的比較分析
主站蜘蛛池模板: 中文无码日韩精品| 亚洲精品麻豆| 精品無碼一區在線觀看 | 中文字幕波多野不卡一区| 国产色婷婷| JIZZ亚洲国产| 青青操国产| 亚洲手机在线| 欧美亚洲一二三区| 国产一区二区三区日韩精品| 国产成人精品视频一区视频二区| 亚洲国产日韩在线观看| 久久香蕉国产线| 综合久久五月天| 欧美狠狠干| 狠狠久久综合伊人不卡| 国产在线精品人成导航| 国产高清免费午夜在线视频| 国产粉嫩粉嫩的18在线播放91 | 无码 在线 在线| 久久香蕉国产线看精品| 亚洲五月激情网| 国产91在线免费视频| 亚洲天堂网在线播放| 精品视频91| 伊人久综合| 亚洲日本在线免费观看| 伊人久综合| 精品1区2区3区| 国产一级α片| 色综合综合网| 婷婷色中文| 日韩123欧美字幕| 成人福利一区二区视频在线| 日韩毛片免费| 日韩第九页| 欧美亚洲国产日韩电影在线| 97视频精品全国免费观看| 亚洲欧美成aⅴ人在线观看| 九色免费视频| 国产高清在线观看91精品| 天天综合色天天综合网| 波多野结衣一区二区三区AV| 国产精品视屏| 国产在线98福利播放视频免费| 老司机精品99在线播放| jizz国产视频| 欧美中文字幕在线二区| 国产美女一级毛片| 人人妻人人澡人人爽欧美一区| 一级福利视频| 亚洲国产综合精品中文第一| www.youjizz.com久久| 国产va在线观看免费| 青草精品视频| AV无码无在线观看免费| 亚洲av无码专区久久蜜芽| 香蕉eeww99国产精选播放| 亚洲精品手机在线| 欧美日韩精品一区二区在线线| 国产免费网址| 日韩欧美中文在线| 呦女亚洲一区精品| 日韩欧美网址| 国产日韩欧美精品区性色| 日韩AV无码一区| 中文成人在线| 久久99国产精品成人欧美| 国产菊爆视频在线观看| 国产精品无码一二三视频| 国产黄色免费看| 在线观看国产精品第一区免费 | 国产精品欧美亚洲韩国日本不卡| 婷婷丁香在线观看| 国产主播在线一区| 国产在线八区| 91毛片网| a级毛片在线免费观看| 91在线中文| 日韩黄色大片免费看| 国产精品视频观看裸模| 亚洲成av人无码综合在线观看|