專利名稱:一種基于gnu開源軟件的c++程序遠程調(diào)試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種調(diào)試技術(shù),尤其是一種基于GNU開源軟件的C++程序遠程調(diào)試方法。
背景技術(shù):
目前,對于電信行業(yè)的C++業(yè)務(wù)組件的開發(fā)和調(diào)試需要開發(fā)人員登錄到遠程Unix 主機上進行,采用這種方式存在以下問題需要開發(fā)人員熟悉Unix系統(tǒng)的基本操作;純命令行方式的操作模式,需要開發(fā)人員了解Unix命令;沒有利用集成的IDE開發(fā)環(huán)境,開發(fā)調(diào)試沒有可視化。
發(fā)明內(nèi)容
鑒于使用Unix主機命令行模式的開發(fā)存在的問題,本發(fā)明擬在Windows系統(tǒng)上的 Eclipse平臺上實現(xiàn)一個C++程序的遠程開發(fā)套件,開發(fā)人員借助集成IDE環(huán)境,可以方便的實現(xiàn)遠程調(diào)試Unix主機上的程序。為了實現(xiàn)上述日的,本發(fā)明提出一種基于GNU開源軟件的C++程序遠程調(diào)試方法, 該方法包括
在Ecl ipse構(gòu)建C++工程項目,編寫工程特性向?qū)?,通過Ecl ipse工程向?qū)Ы⒎想娦殴こ烫攸c的基礎(chǔ)框架;
搭建C++遠程編譯調(diào)試工具鏈;
實現(xiàn)遠程主機和本地開發(fā)主機的通信,為已創(chuàng)建工程設(shè)置本地、遠程文件映射路徑,實現(xiàn)遠程主機上的文件和本地文件的自動同步;
編寫遠程、本地兩套debug方案,使程序既能在本地編譯也能在遠程主機編譯,生成各自的可執(zhí)行程序;
通過輔助開發(fā)工具開發(fā)各類C++業(yè)務(wù)組件,編輯輸入輸出參數(shù)文件;
編譯、調(diào)試程序,利用遠程debug方案,使用Eclipse的debug功能實現(xiàn)對遠程可執(zhí)行程序的編譯調(diào)試,根據(jù)輸入?yún)?shù)輸出對應(yīng)的執(zhí)行結(jié)果。相對于使用遠程命令行的開發(fā)方式,本發(fā)明主要有以下優(yōu)點減少了業(yè)務(wù)開發(fā)人員熟悉Unix命令行的要求;可以充分利用現(xiàn)代IDE,提供可視化開發(fā)環(huán)境;本地、遠程兩套 debug方案,雙重檢驗程序可靠性。
圖I為本發(fā)明的遠程調(diào)試方法的流程圖。圖2為本發(fā)明的調(diào)試界面。
具體實施例方式以下結(jié)合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。本發(fā)明的一種基于GNU開源軟件的C++程序遠程調(diào)試方法,如圖I所示,包括
在Ecl ipse構(gòu)建C++工程項目,編寫工程特性向?qū)Вㄟ^Ecl ipse工程向?qū)Ы⒎想?br>
信工程特點的基礎(chǔ)框架,該工程向?qū)г谛陆ǖ腃++工程下自動建立編譯、調(diào)試程序時用到的電信框架文件;
搭建C++遠程編譯調(diào)試工具鏈,其中工具鏈可以包括cdt、mingw、uniwin等開源軟件, cdt通過外部集成mingw,使用mingw的gcc、gdb、make等工具組合作為本地C++程序的工具鏈,而對于遠程主機,則需要在主機上安裝GNU的gcc、gdb、make等工具組合作為遠程開發(fā)工具鏈;
實現(xiàn)遠程主機和本地開發(fā)主機的通信,為已創(chuàng)建工程設(shè)置本地、遠程文件映射路徑, 實現(xiàn)遠程主機上的文件和本地文件的自動同步;其中本地開發(fā)主機安裝uniwin并做相應(yīng)配置以實現(xiàn)和遠程主機的通訊,遠程主機支持FTP、telnet、ssh等通訊協(xié)議,以支持本地 uniwin的gdb、make等工具stab和遠程主機的通訊;
編寫遠程、本地兩套debug方案,例如針對Windows平臺和Unix平臺編寫兩套debug 方案,使程序既能在本地編譯也能在遠程主機編譯,生成各自的可執(zhí)行程序;
通過輔助開發(fā)工具開發(fā)各類C++業(yè)務(wù)組件,編輯輸入輸出參數(shù)文件;
編譯、調(diào)試程序,利用遠程debug方案,使用Eclipse的debug功能實現(xiàn)對遠程可執(zhí)行程序的編譯調(diào)試,根據(jù)輸入?yún)?shù)輸出對應(yīng)的執(zhí)行結(jié)果。圖2顯示了調(diào)試界面,界面上方是debug的進程顯示以及變量和斷點設(shè)置,中間是程序代碼和概覽圖,下方是遠程開發(fā)主機發(fā)送回來的終端字符。 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種基于GNU開源軟件的C++程序遠程調(diào)試方法,包括在Ecl ipse構(gòu)建C++工程項目,編寫工程特性向?qū)?,通過Ecl ipse工程向?qū)Ы⒎想娦殴こ烫攸c的基礎(chǔ)框架;搭建C++遠程編譯調(diào)試工具鏈;實現(xiàn)遠程主機和本地開發(fā)主機的通信,為已創(chuàng)建工程設(shè)置本地、遠程文件映射路徑,實現(xiàn)遠程主機上的文件和本地文件的自動同步;編寫遠程、本地兩套debug方案,使程序既能在本地編譯也能在遠程主機編譯,生成各自的可執(zhí)行程序;通過輔助開發(fā)工具開發(fā)各類C++業(yè)務(wù)組件,編輯輸入輸出參數(shù)文件;編譯、調(diào)試程序,利用遠程debug方案,使用Eclipse的debug功能實現(xiàn)對遠程可執(zhí)行程序的編譯調(diào)試,根據(jù)輸入?yún)?shù)輸出對應(yīng)的執(zhí)行結(jié)果。
2.如權(quán)利要求I所述的一種基于GNU開源軟件的C++程序遠程調(diào)試方法,在實現(xiàn)遠程主機和本地開發(fā)主機的通信過程中,本地開發(fā)主機需安裝uniwin并做相應(yīng)配置以實現(xiàn)和遠程主機的通訊;遠程主機按照通訊協(xié)議,以支持本地uniwin的gdb、make工具stab和遠程主機的通訊。
3.如權(quán)利要求2所述的一種基于GNU開源軟件的C++程序遠程調(diào)試方法,所述通訊協(xié)議為 FTP、telnet 或 ssh。
4.如權(quán)利要求I所述的一種基于GNU開源軟件的C++程序遠程調(diào)試方法,所述工具鏈包括cdt、mingw、uniwin開源軟件,cdt通過外部集成mingw,使用mingw的gcc、gdb、make工具組合作為本地C++程序的工具鏈;對于遠程主機,則需要在主機上安裝GNU的gcc、gdb、 make工具組合作為遠程開發(fā)工具鏈。
5.如權(quán)利要求I所述的一種基于GNU開源軟件的C++程序遠程調(diào)試方法,編寫遠程、本地兩套debug方案具體為針對Windows平臺和Unix平臺編寫兩套debug方案。
全文摘要
本發(fā)明提供一種基于GNU開源軟件的C++程序遠程調(diào)試方法,包括構(gòu)建C++工程項目,編寫工程特性向?qū)?;搭建C++遠程編譯調(diào)試工具鏈;實現(xiàn)遠程主機和本地主機的通信,為已創(chuàng)建工程設(shè)置本地、遠程文件映射路徑,實現(xiàn)遠程主機上的文件和本地文件的自動同步;編寫遠程、本地兩套debug方案;通過輔助開發(fā)工具開發(fā)各類C++業(yè)務(wù)組件,編輯輸入輸出參數(shù)文件;編譯調(diào)試程序,利用遠程debug方案,使用Eclipse的debug功能實現(xiàn)對遠程可執(zhí)行程序的編譯調(diào)試,根據(jù)輸入?yún)?shù)輸出對應(yīng)的執(zhí)行結(jié)果。本發(fā)明提供可視化開發(fā)環(huán)境,減少對業(yè)務(wù)開發(fā)人員熟悉Unix命令行的要求,同時本地、遠程兩套debug方案,雙重檢驗程序可靠性。
文檔編號G06F11/36GK102609354SQ20121001708
公開日2012年7月25日 申請日期2012年1月19日 優(yōu)先權(quán)日2012年1月19日
發(fā)明者陳晅 申請人:北京神州數(shù)碼思特奇信息技術(shù)股份有限公司