Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1642980
  • 博文数量: 268
  • 博客积分: 8708
  • 博客等级: 中将
  • 技术积分: 3764
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-06 15:58
文章分类

全部博文(268)

文章存档

2014年(1)

2013年(15)

2012年(23)

2011年(60)

2010年(51)

2009年(12)

2008年(59)

2007年(47)

分类:

2007-04-06 16:52:30

dbx 命令

用途

提供了一个调试和运行程序的环境。


语法

dbx [ -a ProcessID ] [ -c CommandFile ] [ -d NestingDepth ] [ -I Directory ] [ -E DebugEnvironment ] [ -p oldpath=newpath:...| pathfile ] [ -k ] [ -u ] [ -F ] [ -r ] [ -x ] [ ObjectFile [ CoreFile ] ]

 
描述

dbx 
命令为 CC++Pascal  FORTRAN 语言程序提供了一个符号性的调试程序,允许您按照下面的内容执行操作:


检验对象和核心文件。
 
为程序运行提供一个控制环境。
 
在选中的语句处设置断点或单步执行程序。
 
使用符号变量进行调试并将它们以正确的格式显示出来。

ObjectFile 
参数是一个由编译器产生的目标(可执行)文件。在编译您的程序时,使用 -g(生成符号表)标志产生 dbx 命令需要的信息。



注:cc 命令的 -g 标志应该在对象文件进行编译时使用。如果没有使用 -g 标志或者如果符号引用被 strip 命令从 xcoff 文件中删除了,则 dbx 命令的符号性能将受到限制。

如果没有指定 -c 标志,dbx 命令将会在用户的 $HOME 目录中检查 .dbxinit 文件。然后它在用户当前目录中检查 .dbxinit 文件。如果在当前目录中存在一个 .dbxinit文件,该文件将覆盖用户的 $HOME 目录中的 .dbxinit 文件。如果在发现了 .dbxinit 文件存在于用户的 $HOME 目录中或者当前目录中,该文件的子命令将在调试部分开始时运行。使用编辑器创建一个 .dbxinit 文件。


如果没有指定 ObjectFile,那么 dbx 将询问要进行检查的目标文件的名称。缺省值是 a.out。如果当前目录中存在 core 文件或者指定了 CoreFile 参数,那么 dbx 将报告程序发生错误的位置。保留在核心映像中的变量、寄存器和内存可以被检查直到开始执行 ObjectFile。那时 dbx 调试程序提示输入命令。


表达式句柄

dbx 
程序可以显示各种各样的表达式。您可以在 dbx 调试程序中使用 C  Pascal 语法的公共子集和一些 FORTRAN 扩展的子集来指定表达式。


以下运算符在调试程序中是有效的:


*
(星号)或者 ^ (脱字符号表示正在取消引用间接寻址或者指针。
 
[ ]
(方括号)或者( )(圆括号) 表示数组表达式的下标。
 
(句点) 通过指针和结构来使用该字段引用运算符。这将使得 C 运算符 ->;(箭头)变得没有必要,尽管它仍允许使用。
 
&
(与符号) 获得变量的地址。
 
.. 
(两个句点) 在指定数组子部分时将上下界分开。例如:n[1..4]
 

以下类型的运算在调试程序的表达式中是有效的:


代数运算 =-*/(浮点运算的除法)、div(整数运算的除法)、mod  exp(乘幂运算)。
 
按位运算 -, I, bitand, xor, ~, << 
 >;>; 
逻辑运算 orandnotII 
 && 
比较运算 <>;<=>;=< >;  !=
 == 
其它 (类型名),
sizeof 

逻辑和比较表达式在 stop  trace 中作为条件使用的。


检验表达式类型。您可以通过重命名或者重载运算符的方式重设一个表达式类型。三种重命名的格式分别是:类型名(表达式),表达式 |类型名以及 (类型名)表达式。以下是一个示例,其中 x 变量是一个值为 97 的整数:



(dbx) print x
97
(dbx) print char (x), x \ char, (char) x, x
'a' 'a' 'a' 97
命令行编辑

dbx 
命令提供一种命令行编辑功能类似于由 Korn Shell 提供的功能。vi 模式提供 类似 vi 的编辑功能,而 emacs 模式赋予您类似于 emacs 的控制功能。


这些功能可以通过使用 dbx 子命令 set -o 或者 set edit 来开启。要打开 vi 风格的命令行编辑,您可以输入子命令 set edit vi 或者 set -o vi


您也可以使用 EDITOR 环境变量来设置编辑模式。


dbx 
命令将保存输入到历史文件 .dbxhistory 当中的命令。如果没有设置 DBXHISTFILE 环境变量,使用的历史文件是 $HOME/.dbxhistory


按照缺省值,dbx 将保存最近输入的 128 个命令。DBXHISTSIZE 环境变量可以从来增加这一限制。


阅读(1046) | 评论(0) | 转发(0) |
0

上一篇:SNMP Agent开发

下一篇:dbx-2 命令

给主人留下些什么吧!~~