[發(fā)明專利]一種程序調試方法及裝置在審
| 申請?zhí)枺?/td> | 201710651756.6 | 申請日: | 2017-08-02 |
| 公開(公告)號: | CN107402885A | 公開(公告)日: | 2017-11-28 |
| 發(fā)明(設計)人: | 王艷清;徐洪志 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京集佳知識產權代理有限公司11227 | 代理人: | 羅滿 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 程序 調試 方法 裝置 | ||
技術領域
本申請涉及存儲技術領域,特別涉及一種程序調試方法及裝置。
背景技術
隨著信息技術的飛速發(fā)展,存儲技術領域中的技術革新也是日新月異,悄然改變著人們的生產生活方式。
目前,單一的磁盤存儲設備已經逐漸轉變?yōu)楦訌碗s的智能化存儲設備系統(tǒng),基于Linux系統(tǒng)進行軟件開發(fā),以滿足現代社會的生產要求。隨著新功能的開發(fā),相關的軟件代碼逐漸增多,代碼復雜程度也隨之增大,因而,對程序進行調試以解決程序bug故障原因的難度也大大提升。
現有技術中采用的傳統(tǒng)程序調試方法,是基于GDB調試工具采用ptrace方式進行的斷點調試,通過設置斷點一步步調試程序,因而在調試過程中會影響程序的執(zhí)行效率。而對于存儲設備來說,調試過程中對應用程序執(zhí)行效率的影響嚴格來說是不允許的,這會嚴重影響到系統(tǒng)所提供的存儲服務。
由此可見,如何在不降低業(yè)務進程的執(zhí)行效率的基礎上,對業(yè)務進程的程序進行在線調試,是本領域技術人員亟待解決的技術問題,在存儲設備技術開發(fā)中具有重要的意義。
發(fā)明內容
本申請的目的在于提供一種程序調試方法及裝置,以便在調試的過程中可以有效地保障業(yè)務進程的執(zhí)行效率。
為解決上述技術問題,本申請?zhí)峁┮环N程序調試方法,包括:
將業(yè)務進程的數據文件以mmap方式映射到調試進程的內存空間;
利用BE二進制編輯器,根據所述業(yè)務進程的資源文件和符號表文件,對所述數據文件進行解析和調試;
其中,所述資源文件和所述符號表文件預先在所述業(yè)務進程的編譯過程中生成。
可選地,還包括:
若所述業(yè)務進程的源代碼被修改,則再次在所述業(yè)務進程的編譯過程中生成所述資源文件和所述符號表文件。
可選地,所述在所述業(yè)務進程的編譯過程中生成所述資源文件和所述符號表文件包括:
將BE代碼嵌入所述源代碼中,用以注釋所述源代碼中的數據結構;
利用AWK處理工具,抽取所述源代碼中的所述BE代碼組成所述資源文件;
利用GCC編譯器,將嵌入有BE代碼的所述源代碼編譯成可執(zhí)行文件;
利用readelf處理命令,讀取所述可執(zhí)行文件中的符號信息生成所述符號表文件。
可選地,所述數據文件包括所述業(yè)務進程的以下任意一項或者組合:數據段、BSS段、堆棧。
本申請還提供了一種程序調試裝置,包括:
映射模塊:用于將業(yè)務進程的數據文件以mmap方式映射到調試進程的內存空間;
調試模塊:用于利用BE二進制編輯器,根據所述業(yè)務進程的資源文件和符號表文件,對所述數據文件進行解析和調試;
生成模塊:用于預先在所述業(yè)務進程的編譯過程中,生成所述資源文件和所述符號表文件。
可選地,所述生成模塊還用于:
在所述業(yè)務進程的源代碼被修改后,再次在所述業(yè)務進程的編譯過程中生成所述資源文件和所述符號表文件。
可選地,所述生成模塊具體用于:
將BE代碼嵌入所述源代碼中,用以注釋所述源代碼中的數據結構;
利用AWK處理工具,抽取所述源代碼中的所述BE代碼組成所述資源文件;
利用GCC編譯器,將嵌入有BE代碼的所述源代碼編譯成可執(zhí)行文件;
利用readelf處理命令,讀取所述可執(zhí)行文件中的符號信息生成所述符號表文件。
可選地,所述數據文件包括所述業(yè)務進程的以下任意一項或者組合:數據段、BSS段、堆棧。
本申請所提供的程序調試方法中,將業(yè)務進程的數據文件以mmap方式映射到調試進程的內存空間;利用BE二進制編輯器,根據所述業(yè)務進程的資源文件和符號表文件,對所述數據文件進行解析和調試;其中,所述資源文件和所述符號表文件預先在所述業(yè)務進程的編譯過程中生成。
可見,相比于現有技術,本申請所提供的程序調試方法中,利用建立mmap映射,使得調試進程可以共享業(yè)務進程的內存空間,由此可以根據業(yè)務進程的符號表和資源文件,對業(yè)務進程的數據文件進行解析和調試,而不會影響到業(yè)務進程的執(zhí)行。由此可見,本申請所提供的程序調試方法,可以有效實現在進行調試的同時,保障業(yè)務進程的執(zhí)行效率。本申請所提供的程序調試裝置可以實現上述程序調試方法,同樣具有上述有益效果。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710651756.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:生成接口測試代碼的方法及裝置
- 下一篇:堆棧分析方法及相關裝置





