dbx 使用方法

2021-04-19 22:58:05 字數 1688 閱讀 3203

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 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...