Linux下,使用GDB調試程序的方法

在Linux下調試程序一般用GDB來執行。
這裏簡要介紹一下是否gdb調試程序的方法:
(1)進入gdb調試:
gdb + 已經編譯通過的可執行程序 -》 就進入調試模式。
例如:gdb MiddlePublisher
(2)r + 運行時的參數         -》 開始運行可執行程序。
例如 r -lxml2 -f refile
(3)b + 斷點               -》設置調試的斷點。
兩種:一種是:b CMSTask.cpp:200      表示在CMSTask.cpp文件的第200行設置斷點。
     另一種:b TaskManager::buildPubWinTask 表示在執行buildPubWinTask這個函數的時候停止。
(4)取消斷點:
   dis 1          表示取消第一個斷點
   dis 2          表示取消第二個斷點
(5)查看設置斷點信息:
    info   b
(6)在斷點停止處查看所在代碼的詳細信息:
    l
(7)可以在gdb中直接編譯,然後再重新運行時,gdb會直接執行新編譯好的可執行程序。
例如:直接在gdb下執行make後再重慶運行。
(8)跟進一個函數:s
如果設置的斷點是在一個函數入口。到達該斷點時,鍵入s就可以進入該函數內部進行調試。如果有多個函數就多次鍵入S來進入內部的函數。
(9)單步執行:n
例如:直接在gdb下鍵入n,進行單步執行
(10)繼續執行:c
例如:直接在gdb鍵入c,可以在斷點停止後繼續執行。
如果斷點是一個循環,則可以繼續執行一個循環,再停止斷點上面。

PS:
1、在SecureCRT遠程登錄界面上開啓多個窗口。在窗口之間切換時用:Alt+1,Alt+2.....表示切換到第1個,第2個窗口。
2、同樣在在SecureCRT遠程登錄界面上要粘貼複製好的內容用:Shift+Insert
3、vim一個文件的妙用:
(1)首先用vim打開一個文件,再在命令行下鍵入“:vsplit ***”在同一個窗口打開另一個文件。×××表示另一個文件。
(2)打開後,用Ctrl+W按兩次在兩個窗口之間切換。
(3)如果要關掉一個其中一個窗口,就切換到那個窗口,鍵入“:close”就可以了。
(4)複製某一行,先按y1,再轉到複製目的地按p。如果複製多行先在複製源地第一行按y2,然後回車,再把光標移動到最後一行,按回車。最後到複製目的地按p,就可以了

發佈了109 篇原創文章 · 獲贊 5 · 訪問量 64萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章