1. 執行dbx
$dbx 可執行文件名
可執行文件在編譯的時候必須代上 –g 參數
2. 顯示代碼
(dbx)list //從文件開頭列出代碼
(dbx)list n //列出第n行代碼
(dbx)list m,n //列出從m行開始的n行代碼
3. 執行程序
(dbx)run //執行不帶參數的程序
(dbx)run arg1…argn //執行帶參數的程序
該命令相當於VC的快捷鍵F5
4. 設置斷點
(dbx)stop at n //在第n行設置斷點
(dbx)stop in funcname //在funcname函數入口處設置斷點
該命令相當於VC的快捷鍵F9
5. 顯示已經設置過的斷點
(dbx)status
該命令相當於VC的快捷鍵Ctrl + B
6. 刪除和屏蔽斷點
(dbx)delete n //刪除斷點,n爲行號
(dbx)disable n //屏蔽斷點,n爲行號
(dbx)enable n //回覆斷點,n爲行號
在使用status命令顯示已經設置的斷點時,被暫時屏蔽的斷點前會有個“*”
7. 單步執行程序
(dbx)next
使用該命令當執行到函數時候,不進入函數體執行函數細節,一步執行玩函數後,繼續向下執行
8. 進入函數體執行
(dbx)step
該命令和next類似,只是當執行到函數時候,進入函數體執行函數,將函數體內語句執行完畢後,回到駐函數,繼續向下執行
9. 從斷點處繼續向下執行
(dbx)cont
該命令可以用來從一個斷點直接執行到另一個斷點,也可以在需要的時候,跳出循環(可以在循環內外各設置一個斷點)在跟蹤完必要的循環次數,單循環尚未結束的時候,直接跳循環,繼續執行
10. 跳轉語句
(dbx)goto n //n是行號
跳轉到希望的代碼,不過該命令不能改變程序的實際執行順序
11. 顯示變量的值
(dbx)print i //i爲變量名
12. 顯示變量的定義位置
(dbx)whereis i // i爲變量名
顯示格式爲:文件名.函數名.變量名。如:test.main.i
13. 顯示變量的類型
(dbx)whatis i // i爲變量名
14. 在源文件中查找字符串
(dbx)/var //向上查找var
(dbx)?var //向下查找var
15. 在(dbx)內部啓動和退出shell
(dbx)sh //啓動shell
退出時直接在提示符下寫exit然後回到(dbx)提示符
16. 使用dbx解析core文件
dbx 可執行文件名 core文件名