[發明專利]Java語言程序與虛擬機程序共同調試的方法有效
| 申請號: | 200810219963.5 | 申請日: | 2008-12-09 |
| 公開(公告)號: | CN101430662A | 公開(公告)日: | 2009-05-13 |
| 發明(設計)人: | 沈志成;施偉周 | 申請(專利權)人: | 東信和平智能卡股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 珠海智專專利商標代理有限公司 | 代理人: | 張 中;段淑華 |
| 地址: | 519060廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | java 語言 程序 虛擬機 共同 調試 方法 | ||
技術領域
本發明涉及一種Java語言程序的調試方法,尤其是基于Windows平臺下Java語言程序與應用C語言編寫的虛擬機程序共同調試的方法。
背景技術
Java語言作為一種成熟的編程語言,已經廣泛應用到各種應用程序的編程中。如現有的電信智能卡大多使用Java語言編寫應用程序,并將應用程序存儲在智能卡中,應用這些應用程序實現各種功能,如存儲電話號碼、手機上網等等。
現有應用Java語言編程的電信智能卡中大多設有應用C語言或C++語言編寫的虛擬機單元,用于支持并執行應用Java語言編寫的應用程序單元。現有的Java語言編寫的應用程序單元與應用C語言編寫的虛擬機單元結構示意框圖。
現有的電信智能卡中,包括有應用Java語言編寫應用程序單元10,其中應用程序單元10包括有多條Java代碼,每一Java代碼被編譯成相應的字節碼,存儲在電信智能卡的存儲器中。同時,電信智能卡還包括由C語言編寫的虛擬機單元20,在虛擬機單元20中設置有虛擬PC指針,虛擬PC指針指向當前執行的字節碼。電信智能卡運行應用程序單元10時,虛擬PC指針指向當前指向的字節碼,并逐一解析并執行該字節碼。
電信智能卡的應用程序開發人在開發應用程序單元10時,需要在Wi?ndows操作系統平臺下,應用Java語言調試集成模塊,如eclipse等,編寫Java語言的應用程序單元10,并且在C語言調試集成模塊,如VC等,應用C語言或C++語言編寫虛擬機單元20。由于應用Java語言編寫的應用程序單元10與應用C語言編寫的虛擬機單元20難免出現錯誤的Java代碼,運行應用程序單元10及虛擬機單元20時會出現異常。因此,初次編寫完畢的應用程序單元10與虛擬機單元20需要經過調試來發現并對錯誤的代碼進行修改。
現有的應用程序單元10與虛擬機單元20調試時,首先在Windows操作系統平臺的Java語言調試集成模塊與C語言調試集成模塊中分別運行應用程序單元10以及虛擬機單元20,此時虛擬機單元20的虛擬PC指針指向應用程序單元10的字節碼,并逐一解析并執行這些字節碼。當虛擬機單元20執行字節碼時出現異常,虛擬機單元20將顯示C語言程序中出現異常的代碼,開發人員需要通過虛擬PC指針查找出現異常的字節碼,開發人員即找出出現錯漏的字節碼。
但是,這種調試方法讓調試人員查找出現異常的字節碼,而并不顯示出現錯誤的Java語言程序的代碼,這要求開發人員對Java代碼編譯成的字節碼非常熟悉,必須知道每一字節碼與Java代碼的對應關系。
若開發人員對字節碼并不十分熟悉,則上述調試方法變得很不直觀,開發人員需要通過字節碼查找對應的Java代碼,使調試效率降低,不利于對電信智能卡進行快速高效地開發。
現有的單獨對Java語言程序調試方法中,大多設置異常處理機制,具體過程是:預先定義Java語言程序運行過程中可能出現的異常類型,并賦予異常ID號。Java語言程序運行過程中出現異常時,Java語言程序將異常拋出,并判斷該異常屬于哪一類型以及異常的ID號,Java語言程序通過異常的類型以及ID號將所拋出的異常捕獲。這樣,調試人員通過捕獲的異常判斷哪一Java代碼出現異常,并對錯誤代碼進行修改。
發明內容
針對上述問題,本發明主要目的是提供一種有效提高調試效率的Java語言程序與虛擬機程序共同調試方法;
本發明另一目的是提供一種便于開發人員直觀地調試Java語言程序的Java語言程序與虛擬機程序共同調試方法。
為了實現上述的主要目的,本發明提供的Java語言程序與虛擬機程序共同調試的方法包括在一操作系統平臺的Java語言調試集成模塊中應用Java語言編寫應用程序單元,在應用程序單元中設置多個主調函數模塊,每一主調函數模塊包含有多條Java代碼,并賦予每一主調函數模塊以唯一的ID號,設定每一主調函數模塊的參數,并設定主調函數模塊的異常處理機制;
在該操作系統平臺的C語言調試集成模塊中應用C語言編寫虛擬機單元,在虛擬機單元中設置與多個主調函數模塊一一對應的多個被調函數模塊,該被調函數模塊用于執行對應的主調函數模塊的Java代碼;
在該系統平臺上建立應用程序單元與虛擬機單元的通信關系,并分別在Java語言調試集成模塊與C語言調試集成模塊中運行應用程序單元及虛擬機單元;
對異常處理機制發現的任一主調函數模塊存在的錯誤代碼進行修改,即通過異常處理機制發現出現異常的主調函數模塊,并對出現異常的主調函數模塊中所存在的錯誤代碼進行修改。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于東信和平智能卡股份有限公司,未經東信和平智能卡股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810219963.5/2.html,轉載請聲明來源鉆瓜專利網。





