[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 應用技術 > 其它 > 正文
學用dbx  
本文出自:http://www.china-pub.com 作者: 冰暴 (2001-08-08 12:00:01)
    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 n|all:刪除第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處。
   
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
 

★  樊強制作 歡迎分享  ★