[發明專利]調試靜態庫函數的方法及系統有效
| 申請號: | 201410252210.X | 申請日: | 2014-06-09 |
| 公開(公告)號: | CN104050081B | 公開(公告)日: | 2017-09-12 |
| 發明(設計)人: | 李鵬 | 申請(專利權)人: | 漢柏科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京路浩知識產權代理有限公司11002 | 代理人: | 李迪 |
| 地址: | 300384 天津市華*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 調試 靜態 庫函數 方法 系統 | ||
技術領域
本發明涉及庫函數調試技術領域,特別涉及一種調試靜態庫函數的方法及系統。
背景技術
靜態庫函數一般是指編譯器提供的可在C語言源程序中調用的函數。可分為兩類,一類是C語言標準規定的庫函數,一類是編譯器特定的庫函數。由于版權原因,庫函數的源代碼一般是不可見的,但在頭文件中可以看到它對外的接口。C語言的語句十分簡單,如果要使用C語言的語句直接計算sin或cos函數,就需要編寫頗為復雜的程序。因為C語言的語句中沒有提供直接計算sin或cos函數的語句。又如為了顯示一段文字,在C語言中也找不到顯示語句,只能使用庫函數printf。
C語言的庫函數并不是C語言本身的一部分,它是由編譯程序根據一般用戶的需要編制并提供用戶使用的一組程序。C的庫函數極大地方便了用戶,同時也補充了C語言本身的不足。事實上,在編寫C語言程序時,應當盡可能多地使用庫函數,這樣既可以提高程序的運行效率,又可以提高編程的質量,但是由于開發者使用不當,往往會出現很多錯誤,很多錯誤最終卻體現在庫函數中,因此需要一種方法可以添加調試代碼,用來找到錯誤的原因。
現有技術中為了對庫函數進行調試,通常是修改庫的源代碼,增加調試信息,并重新編譯,整個工作的工作難度較大,同時很多靜態庫是供應商直接提供的,使用者無法獲取具體的源碼,無法添加調試信息,導致無法調試。
發明內容
為了能夠在不修改庫函數的源代碼的情況下,對庫函數進行調試。
本發明提供了一種調試靜態庫函數的方法,所述方法包括以下步驟:
S1:獲取待調試庫函數,并將所述待調試庫函數的函數名A修改為函數名B;
S2:在待執行程序的源代碼中新建一個函數名為A的調試函數;
S3:在所述待執行程序需要調用所述待調試庫函數時,先通過所述函數名A調用所述調試函數,再通過所述函數名B調用所述待調試庫函數,以實現所述待調試庫函數的調試。
其中,步驟S1之前還包括:
S0:接收用戶輸入的函數名A,并根據接收到的函數名A在所述靜態庫中進行搜索。
本發明還公開了一種調試靜態庫函數的系統,所述系統包括:
獲取修改模塊,用于獲取待調試庫函數,并將所述待調試庫函數的函數名A修改為函數名B;
函數新建模塊,用于在待執行程序的源代碼中新建一個函數名為A的調試函數;
函數調用模塊,用于在所述待執行程序需要調用所述待調試庫函數時,先通過所述函數名A調用所述調試函數,再通過所述函數名B調用所述待調試庫函數,以實現所述待調試庫函數的調試。
其中,所述系統還包括:
函數名接收模塊,用于接收用戶輸入的函數名A,并根據接收到的函數名A在所述靜態庫中進行搜索。
本發明只需簡單的改變庫函數的函數名,就可以簡單的添加調試程序,并調用新名字的庫函數,在不修改庫函數的源代碼的情況下,實現對庫函數的調試,無需修改庫函數的代碼,也需要不重新編譯庫函數,對庫函數而言,功能沒有任何變化,僅僅是對庫函數的函數名進行更換,并且簡單、易修改。
附圖說明
圖1是本發明一種實施方式的調試靜態庫函數的方法流程圖;
圖2是本發明一種實施方式的調試靜態庫函數的系統結構框圖。
具體實施方式
下面結合附圖和實施例,對本發明的具體實施方式作進一步詳細描述。以下實施例用于說明本發明,但不用來限制本發明的范圍。
圖1是本發明一種實施方式的調試靜態庫函數的方法流程圖;參照圖1,所述方法包括以下步驟:
S1:獲取待調試庫函數,并將所述待調試庫函數的函數名A修改為函數名B;
S2:在待執行程序的源代碼中新建一個函數名為A的調試函數;
S3:在所述待執行程序需要調用所述待調試庫函數時,先通過所述函數名A調用所述調試函數,再通過所述函數名B調用所述待調試庫函數,以實現所述待調試庫函數的調試。
為實現函數名的自動搜索,以提高自動化能力,優選地,步驟S1之前還包括:
S0:接收用戶輸入的函數名A,并根據接收到的函數名A在所述靜態庫中進行搜索。
實施例
下面以一個具體的實施例來說明本發明的方法,但不限定本發明的保護范圍。本實施例的方法包括以下步驟:
步驟101:接收用戶輸入的函數名malloc,并根據接收到的函數名malloc在所述靜態庫中進行搜索;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于漢柏科技有限公司,未經漢柏科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410252210.X/2.html,轉載請聲明來源鉆瓜專利網。





