dbx是unix下基於命令列介面的程式偵錯程式,假如不能學會dbx,無疑將為你在unix端的程式設計上增添許多的困難。
dbx是通過互動執行dbx子命令來達到除錯的目的的。
在除錯程式前,必須先將-g選項包含在編譯資訊中,編譯生成帶除錯資訊的檔案,即:cc -o filename -g file.c。
進入dbx通常只需輸入"dbx filename"即可,filename為待除錯的可執行程式名。
dbx載入後就顯示提示符:(dbx),此時使用者就可以輸入dbx子命令進行除錯了。
下面是一些dbx的常用子命令:
1.基本操作命令
run arg1 arg2 ... :以arg1,arg2,...為引數開始執行現有程序。
r:用上次使用的引數再次執行現有程序。
source filename:從檔名為filename的檔案中讀入dbx子命令並執行。
return:執行完目前的程序後返回。
sh command:不退出dbx,執行一條作業系統shell命令。
sh:暫時進入shell狀態。
quit:退出dbx,若程式未執行完則終止其執行。
2.置斷點與跟蹤點命令
stop var at n:置斷點命令,當第n行的變數var發生變化時將程式掛起。
stop var in proc:置斷點命令,當過程proc的變數var發生變化時將程式掛起。
stop at n:置斷點命令,當執行到第n行時將程式掛起。
stop in proc:置斷點命令,當執行到過程proc時將程式掛起。
trace var at n:置跟蹤點命令,當第n行的變數var改變時顯示跟蹤資訊。
trace var in proc:置跟蹤點命令,當過程proc的變數var改變時顯示跟蹤資訊。
trace n:置跟蹤點命令,當執行到第n行時顯示被跟蹤資訊。
trace proc:置跟蹤點命令,當執行到過程proc時顯示被跟蹤資訊。
trace expr at n:置跟蹤點命令,當執行到第n行時顯示var的值。
delete nall:刪除第n行的/所有的斷點與跟蹤點。
3.除錯命令
cont at n:執行直至第n行。
print var:列印變數var的值。
printf "string",expr,...:以c語言的格式列印。
where:列印當前除錯狀態,包括當前程序的資訊。
func:檢視當前執行的程序名。
func proc:移至到呼叫proc程序的母程序處。
whatis name:顯示對變數名或過程名name的型別。
step [n]:單步執行一行或n行,碰到執行緒呼叫時進入執行緒呼叫。
next [n]:單步執行一行或n行,碰到執行緒呼叫時拒絕進入執行緒呼叫。
skip [n]:跳過乙個或n個斷點,繼續往下執行
dump [proc] [>file]:顯示當前或proc過程的所有變數名及其值
assign var=expr:給變數var賦以表示式expr的值
4.讀取被除錯程式命令
list:列出從當前行開始的若干行源程式。
list n,m:列出從第n行到第m行的源程式。
/string:朝檔案尾方向查詢字串string
?string:朝檔案頭方向查詢字串string
file filename:將檢視的檔案切換到檔案filename處
Unix除錯工具dbx使用方法
dbx 可執行檔名 可執行檔案在編譯的時候必須代上 g 引數 dbx list 從檔案開頭列出 dbx listn 列出第 n行 dbx listm,n 列出從 m行開始的 n行 dbx run 執行不帶引數的程式 dbx runarg1 argn 執行帶引數的程式 該命令相當於 vc的快捷鍵 f5...
專案中用到的dbx命令的簡單使用方法
dbx是unix下普遍的原始碼除錯工具,掌握好了dbx的使用,無疑象增添了unix下程式設計的一把利器研究了一下午dbx的 連機文件,發現dbx很是簡單易用現在簡單介紹一下dbx的 使用方法,讓更多的朋友免去獨自研究的苦楚dbx主要用來 除錯用f77或cc等編譯工具生成的fortran和c語言的源 ...
pythonpip使用方法 pip使用方法整理
匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...