Linux PPC安裝Eclipse CDT開發(fā)C\C++程序(運(yùn)行過程)
一、CDT 調(diào)試運(yùn)行過程:
任何程序的調(diào)試與運(yùn)行都是密不可分的,從程序工程師的角度來看,一個(gè)程序從編寫完畢到***成功完成,都是一個(gè)運(yùn)行、修改、調(diào)試、再運(yùn)行、再修改、再調(diào)試。。。的過程。Eclipse CDT 提供了完整的調(diào)試運(yùn)行環(huán)境。
CDT 運(yùn)行程序
對(duì)于選中的工程文件,在 Eclipse 主界面上選擇菜單‘ Run ‘,并在彈出下拉框中選擇’ Run ’,如圖 14 所示:紅線框住的區(qū)域表示程序的整個(gè)運(yùn)行過程和結(jié)果都可以看到。
圖 14. EPIC 運(yùn)行程序界面
Eclipse CDT 調(diào)試程序(俗稱‘ Debug ’程序)
相比較運(yùn)行程序而言,這一過程顯得復(fù)雜得多,這也是這篇文件的精髓所在,前面都是為這一步在做必要地鋪墊。對(duì)于程序員而言,調(diào)試程序是不可避免的,通常將要調(diào)試的線程掛起,然后利用單步執(zhí)行方式來實(shí)現(xiàn)對(duì)整個(gè)程序的一行一行代碼地執(zhí)行,同時(shí),觀察每一步運(yùn)行的結(jié)果,以及掌握運(yùn)行過程中變量的變化情況。
Eclipse CDT 提供了多種調(diào)試操作功能以方便用戶實(shí)現(xiàn)在編程中的切實(shí)需求,包括單步執(zhí)行、跳入子函數(shù)、跳出子函數(shù)、斷點(diǎn)設(shè)置、斷點(diǎn)取消、直接執(zhí)行語句段直至斷點(diǎn)位置等等。
Step Over– 單步執(zhí)行函數(shù)、循環(huán) loop、或執(zhí)行其他普通語句。正待執(zhí)行的代碼行在 EPIC 編輯器中會(huì)被高亮顯示出來,此時(shí),線程處于掛起狀態(tài),在 Debug 視圖工具條中按下這個(gè)功能圖標(biāo) ( )(相應(yīng)的快捷鍵是‘ F6 ’)后,該行語句將被執(zhí)行,完畢后,將自動(dòng)跳轉(zhuǎn)到下一行待執(zhí)行語句,并使其呈高亮顯示狀態(tài),該線程繼續(xù)掛起等待下一步指令。
Step Into– 可以執(zhí)行進(jìn)入函數(shù)、循環(huán) loop、或執(zhí)行其他普通語句。在 Debug 視圖工具條中按下這個(gè)功能圖標(biāo) ( )(相應(yīng)的快捷鍵是‘ F5 ’),該功能類同上述‘ Step Over ’,不同之處在與:如果該語句中含有子函數(shù),循環(huán)等結(jié)構(gòu),‘ Step Over ’是直接后臺(tái)執(zhí)行完這些子函數(shù)或是循環(huán),并返回結(jié)果。但是‘ Step Into ’卻會(huì)按執(zhí)行棧的順序執(zhí)行方式,依次跳入子函數(shù)或循環(huán)提供單步執(zhí)行的功能。
Step Return– 這一功能是針對(duì)執(zhí)行過程已經(jīng)進(jìn)入子函數(shù)后,可以從當(dāng)前代碼行開始直接后臺(tái)執(zhí)行完該子函數(shù)剩余代碼并返回,不用再單步執(zhí)行該子函數(shù)。在 Debug 視圖工具條中按下這個(gè)功能圖標(biāo) ( )(相應(yīng)的快捷鍵是‘ F7 ’)。
在主界面中選擇菜單‘ Run ‘ -> ’ Debug ’ , 就進(jìn)入程序調(diào)試狀態(tài)了,我們可以選擇調(diào)試操作方式,包括單步執(zhí)行、跳到最近的下一個(gè)斷點(diǎn)再執(zhí)行,跳入子函數(shù)等等,針對(duì)這些操作過程中,對(duì)于工程師來說,始終關(guān)注的都是整個(gè)程序的運(yùn)轉(zhuǎn)情況以及掌握每一步執(zhí)行操作完成后相關(guān)變量的變化情況,為此,我們有必要介紹一些視圖,利用這些視圖,我們可以更好的掌握程序的調(diào)試狀況,以利于下一步操作。
首先,進(jìn)入調(diào)試界面接口,可以在主界面中選擇:Window-> Show View ->Debug,在彈出來的視圖里,可以管理在工作區(qū)的正在被調(diào)試或是運(yùn)行程序,它顯示了一個(gè)工程框架、工作過程中的程序運(yùn)行狀況等等。如圖 15 所示:
圖 15. CDT 調(diào)試窗口
變量視圖能夠顯示程序在運(yùn)行過程中的變量的值以及其實(shí)時(shí)變化情況,這一功能對(duì)于調(diào)試工作來說是尤為重要的,變量是程序的‘血液‘,程序代碼就是通過變量來連接的,掌握變量的情況,就是掌握整個(gè)程序的運(yùn)行狀況。
在變量視圖里面,可以看到變量棧的框架結(jié)構(gòu),它顯示變量的原始狀態(tài),包括結(jié)構(gòu)體變量、哈希變量、list 變量或是對(duì)象等等。如圖 16 所示:
圖 16. 變量顯示窗口
斷點(diǎn)視圖可以顯示該程序文件中所有的斷點(diǎn)、它們的狀態(tài)以及位置。在這個(gè)視圖里,可以通過選擇一個(gè)或斷點(diǎn),并激活對(duì)應(yīng)斷點(diǎn)的程序文本框,來設(shè)定、使之無效或是取消斷點(diǎn)。如圖 17 所示:
圖 17. 斷點(diǎn)視圖
二、總結(jié)
綜上所述,我們已經(jīng)看到了一個(gè) Linux 平臺(tái)上集編輯、編譯、調(diào)試 C/C++ 程序?yàn)橐惑w的圖形化的工具,它解決了若干年來一直困擾著 Linux 程序員的對(duì)于在 Linux 平臺(tái)上調(diào)試運(yùn)行 C/C++ 語言程序很麻煩的問題,它簡(jiǎn)潔明了、功能強(qiáng)大的編輯環(huán)境也給 C/C++ 語言編程者帶來了另外一種享受。最重要的是獲取這一切,您都采取的是免費(fèi)的方式,因?yàn)樗械慕M件都是開源的,所以這是一款非常值得推薦的軟件工具。2010 年 6 月 23 日,代號(hào)為太陽神的 Eclipse 3.6 正式發(fā)布,該版本同步更新的項(xiàng)目將有 39 個(gè),其中就包括對(duì) CDT 的更新,太陽神中包括的 CDT 項(xiàng)目改善了調(diào)試(Debug)支持,首先,新的 DSF/GDB 調(diào)試接口與現(xiàn)有的 CDI/GDB 接口基本相當(dāng),此外,引進(jìn)了新的 Eclipse C/C++ 調(diào)試器(EDC)可選組件,為 Windows 和 Linux 操作系統(tǒng) API 提供了直接的調(diào)試器接口,更為重要的是,引入了新的 Codan 靜態(tài)分析框架,在編譯前提供語義分析錯(cuò)誤報(bào)告。
【編輯推薦】
- Eclipse和CDT的兼容性問題
- 在Eclipse下安裝C++插件CDT
- 紅帽企業(yè)級(jí)Linux RHEL 5.6發(fā)布 完全支持Ext4
- Linux LiveCD 評(píng)估系統(tǒng)的安全性
- 基于Linux下PHP連接SQL Server的FreeTDS配置
- Linux系統(tǒng)下的軟件安裝
- Linux管理之進(jìn)程管理
- Linux管理之用戶管理
- Linux管理之進(jìn)程管理