2014-09-29 00:20:16
| 分類:
技術研究
| 標籤:
linux
除錯視覺化
c/c++
vgdb |
舉報 |
字型大小訂閱
我的**書 |
在linux下怎樣除錯c/c++程式?做過linux開發的人都知道用gdb。我見過很多linux開發人員,包括很多有多年工作經驗的老鳥,都還是在gdb命令列下兢兢業業的敲著命令,用list來看**或是在windows上開乙個source insight來看**。
這裡我分享一些linux下如何使用視覺化除錯來提高效率的經驗,希望能對大家有所幫助。
1. gdb的tui模式。進gdb後,按ctrl-x a,看到什麼了?是的,有視窗了,裡面還能顯示**呢。(在linux下大多可用,在windows上的gdb一般沒這功能。)這回看**舒服多了是不是,去google搜搜看文件吧。
2. emacs+gdb。搜搜看emacs和gdb的作者你就知道這兩個軟體關係非同一般了。只要會用emacs會用gdb,剩下就不是問題了。關鍵是emacs可不是容易用的慣的。
3. vi+gdb。段子裡一直流傳著,linux下的編輯器,分為emacs, vi和其它三類。雖然vi本身沒提供直接整合gdb的功能,但有不少vi外掛程式試圖做到易用的整合,聽過的有vgdb,pyclewn,vimdebug等。
這回主要介紹下vgdb。它的特點是以微軟visutal studio中的visual c++作為榜樣,非常方便有vc除錯經驗的人上手。不僅預設的快捷鍵是vc風格的(比如f9斷點,f5執行,f10單步等),而且引入了不少vc中的概念和操作方便使用者操作,比如run to cursor (ctrl-f10) - 執行到游標所在行(用gdb要設定臨時斷點再執行過去);開始除錯(f5)(如果用gdb,一開始用run命令開始除錯,中間要用cont命令繼續執行,vgdb把這些細節都在後台幫助你處理掉啦);set next statement - 把當前執行位置拖到另一行上,甚至允許跨函式拖執行點而程式不崩潰;再比如vc中檢視複雜物件,允許使用者自定義檢視規則的autoexpand機制也被vgdb引入進來,這尤其適合大專案中檢視複雜的資料型別。
在vim的script列表裡可以找到vgdb:
vgdb的另乙個亮點是對變數指標的分析(drill down)。比如你用print檢視乙個變數,發現原來是個指標,一般地你會再輸入print *v來檢視它的結構,而在vgdb視窗裡,你直接在顯示指標值的那行上回車,就能跟蹤列印裡結構的內容。如果結構中還有指標,仍可以方便的在這行上回車檢視乙個指標成員的內容。
linux中gdb的視覺化除錯
今天get到乙個在linux下gdb除錯程式的技巧和大家分享一下!平時我們利用gcc進行程式設計,進行程式除錯時,觀察程式的跳轉等不是這麼直觀。都是入下的介面!但是如果我們在編譯連線時上加了 g命令生成的可執行檔案,用gdb tui q p2psrv 要debug的命令 就可以進入乙個類似的視覺化的...
視覺化除錯工具
rosrun rqt console rqt console 檢視日誌訊息,可filter highlight指定級別。rosrun rqt logger level rqt logger level 可設在日誌記錄器的嚴重級別 rosrun rqt topic rqt topic 顯示topic除...
Linux下視覺化程式設計的初步
首先我承認我不知道在linux下搗鼓視覺化程式設計有什麼意義,純粹的興趣和好奇驅動。最後的結果告訴我,還是很高興的。決定了視覺化程式設計,那我就先得安裝gtk,然後安裝wxwindows。很久以前自己都裝好了code blocks和gedit。首先輸入 sudo apt cache search w...