Unix调试工具dbx使用方法
?
Unix(Solaris)系統一般自帶dbx調試工具,下面介紹一些常用的命令
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文件名
?
轉載于:https://www.cnblogs.com/springside4/archive/2011/05/15/2481663.html
總結
以上是生活随笔為你收集整理的Unix调试工具dbx使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新人新气象,给自己加油!
- 下一篇: MyEclipse9.0正式版汉化