[發明專利]一種在應用中調試嵌入式系統程序中函數功能的方法有效
| 申請號: | 201811426059.1 | 申請日: | 2018-11-27 |
| 公開(公告)號: | CN109684202B | 公開(公告)日: | 2022-06-17 |
| 發明(設計)人: | 李桂平;羅孝兵;華濤;熊光亞;孫延嶺;景波云;楊燁 | 申請(專利權)人: | 國電南瑞科技股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 南京縱橫知識產權代理有限公司 32224 | 代理人: | 董建林;王玉 |
| 地址: | 211106 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用 調試 嵌入式 系統 程序 函數 功能 方法 | ||
本發明公開了一種在應用中調試嵌入式系統程序中函數功能的方法,包括:在嵌入式系統程序中建立函數指針與函數原型之間的對應表格,并添加函數原型解析函數,使用通訊口接收函數調用字符串并進行解析,然后匹配查找表,查找到需要執行的函數指針,最后跳轉去執行函數,并返回執行結果。本發明提供的函數調試方法,可以在不影響程序功能的前提下進行函數功能的調試,并且無需調試工具的參與。在程序已經執行的時候避免了輸出調試信息的方法來進行應用層調試。
技術領域
本發明涉及一種在應用中調試嵌入式系統程序中函數功能的方法。
背景技術
在軟件設計領域,調試是開發過程中必不可少的環節,通用的桌面操作系統與嵌入式操作系統在調試環境上存在明顯的差別。前者,調試器與被調試的程序往往是運行在同一臺機器的相同的操作系統上的兩個進程,調試器進程通過操作系統專門提供的調用接口 ( 早期 UNIX 系統的 ptrace 調用、如今的進程文件系統等 ) 控制、訪問被調試程序進程。
后者 ( 又稱為遠程調試 ),為了向系統開發人員提供靈活、方便的調試界面,調試器還是運行于通用桌面操作系統的應用程序,被調試的程序則運行于基于特定硬件平臺的嵌入式操作系統 ( 也稱目標操作系統 )。這就帶來以下問題 :調試器與被調試程序如何通信,被調試程序產生異常如何及時通知調試器,調試器如何控制、訪問被調試程序,調試器如何識別有關被調試程序的多任務信息并控制某一特定任務,調試器如何處理某些與目標硬件平臺相關的信息 ( 如目標平臺的寄存器信息、機器代碼的反匯編等 )??傊?,嵌入式系統的開發調試是比較困難的。
目前嵌入式系統在產品定型之后,一旦產品在應用中出現問題,在不斷電的情況下對應用程序進行調試目前辦法不多,主要使用通訊接口輸出調試信息、或者使用專用軟件進行功能測試,無法深入對程序進行調試。
使用通訊接口輸出調試信息的方法在程序執行時不停調試信息,有以下缺點:1)占用CPU資源與內存資源,影響程序執行的實時性與穩定性;2)調試信息的覆蓋面有限,無法覆蓋所有的函數,否則調試信息將會相當龐大;
使用專用軟件進行功能調試,只能測試功能是否正常,定位太寬泛,無法覆蓋到函數的執行。
發明內容
本發明所要解決的技術問題是克服現有技術的缺陷,提供一種在應用中調試嵌入式系統程序中函數功能的方法,通過建立函數指針與函數原型之間的對應關系,通過通訊口就可以直接進行函數調用執行,并返回執行結果,為更加細化的調試程序提供了極大的方便。
為解決上述技術問題,本發明提供一種在應用中調試嵌入式系統程序中函數功能的方法,其特征是,包括:在嵌入式系統程序中建立函數指針與函數原型之間的對應表格,并添加函數原型解析函數,使用通訊口接收函數調用字符串并進行解析,然后匹配查找表,查找到需要執行的函數指針,最后跳轉去執行函數,并返回執行結果。
進一步地,建立函數指針與函數原型之間的對應表格,建立的結構體為:
struct FuncName
{
void *func;
const char *name; //函數原型字符串
};
其中func為函數指針,name為函數原型字符串。
進一步地,接收函數調用字符串使用的通訊口為串口、USB口或者以太網接口。
進一步地,解析函數調用語句,建立的結構體為:
struct InfoFunc
{
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國電南瑞科技股份有限公司,未經國電南瑞科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811426059.1/2.html,轉載請聲明來源鉆瓜專利網。





