如何利用Emacs來調(diào)試C++程序
俗話說,Emacs是神的編輯器,而Vim是編輯器之神。高手程序員都是用這兩樣神器進(jìn)行開發(fā)。本人覺得,Emacs之所以厲害,是因為許多在其他編輯器下必須用鼠標(biāo)點選很多步的操作,在Emacs下都可以通過鍵盤來完成。大大地節(jié)省了你在顯示器上找按鈕的時間。Emacs在Linux上運(yùn)行感覺比windows流暢些,用Emacs編輯程序時,手基本不用離開鍵盤,就可以完成所有的工作。那么今天就讓我們看看如何利用Emacs來調(diào)試C++程序。
一、安裝Emacs和GCC
下載地址:Emacs:http://www.gnu.org/software/emacs/
二、配置emacs和GCC
Emacs建議大家把顯示行號打開。具體操作是:在C:\Users\maple\AppData\Roaming下有個.emacs文件,打開它,加入(global-linum-mode t)并保存,注意括號也要一并寫上。
GCC添加路徑到Path環(huán)境變量,確保在cmd下用g++命令能正確執(zhí)行。
三、寫程序,編輯
我們新建一個文件,然后用Emacs打開(Emacs的操作方式有時間再介紹了,大家可以跟著里面自帶的教程學(xué)習(xí))。
我們先保存。然后利用Emacs調(diào)用GCC,按S-M-1
出現(xiàn)讓你輸入shell命令,在這就是控制臺命令啦。我們輸入g++ testdbg.cpp -g -o testdbg.exe
編譯正確。這時我們打開Tools->GDB進(jìn)行調(diào)試,我們發(fā)現(xiàn),Emacs多了幾個按鈕。如下圖:
四、調(diào)試
1、設(shè)置斷點
輸入break 5,表示在第五行設(shè)置斷點,我們發(fā)現(xiàn)左邊多了個小紅點。那就是斷點的位置。
2、運(yùn)行程序
輸入run執(zhí)行程序,程序執(zhí)行后停在斷點處。
3、單步執(zhí)行
輸入step能夠單步執(zhí)行,在GDB中,直接按回車能重復(fù)上一步的動作。
4、打印變量
使用print 變量,能打印出當(dāng)前變量的值。
五、總結(jié)
使用Emacs,擺脫了各種IDE的束縛,能夠極快地進(jìn)行小模塊的開發(fā),Emacs還帶有查看十六進(jìn)制文件的功能,在linux上,替代了winhex的工作,能進(jìn)行文件的比較,這些以后有時間再講到。GDB是GCC附加的一個功能強(qiáng)大的調(diào)試器,深受廣大程序員的喜愛,其中關(guān)于GDB的資料,大家可以查查手冊。
相關(guān)文章
VSCode遠(yuǎn)程開發(fā)調(diào)試服務(wù)器c/c++代碼
語音相關(guān)的好多項目要在linux上跑,但代碼開發(fā)大多是在PC機(jī)上,本篇簡單介紹一下怎么在個人電腦上用VSCode遠(yuǎn)程開發(fā)調(diào)試服務(wù)器上的c/c++代碼。感興趣的朋友跟隨小編一起看看吧2020-04-04
關(guān)于C++11的統(tǒng)一初始化語法示例詳解
C++之前的初始化語法很亂,有四種初始化方式,而且每種之前甚至不能相互轉(zhuǎn)換,但從C++11出現(xiàn)后就好了,所以這篇文章主要給大家介紹了關(guān)于C++11的統(tǒng)一初始化語法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-10-10
Qt槽函數(shù)會被執(zhí)行多次的問題原因及解決方法
本文主要介紹了Qt槽函數(shù)會被執(zhí)行多次的問題原因及解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
C語言學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計
這篇文章主要介紹了C語言學(xué)生學(xué)籍管理系統(tǒng)課程設(shè)計,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01








