Unix(Solaris)系统一般自带dbx调试工具,下面介绍一些常用的命令
1.执行dbx
$dbx可执行文件名
可执行文件在编译的时候必须代上–g参数
2.显示代码
(dbx)listn//列出第n行代码
(dbx)listm,n//列出从m行开始的n行代码
3.执行程序
(dbx)run//执行不带参数的程序
(dbx)runarg1…argn//执行带参数的程序
该命令相当于VC的快捷键F5
4.设置断点
(dbx)stopatn//在第n行设置断点
(dbx)stopinfuncname//在funcname函数入口处设置断点
该命令相当于VC的快捷键F9
5.显示已经设置过的断点
(dbx)status
该命令相当于VC的快捷键Ctrl + B
@L_403_5@6.删除和屏蔽断点
(dbx)deleten//删除断点,n为行号
(dbx)disablen//屏蔽断点,n为行号
(dbx)enablen//回复断点,n为行号
在使用status命令显示已经设置的断点时,被暂时屏蔽的断点前会有个“*”
7.单步执行程序
(dbx)next
使用该命令当执行到函数时候,不进入函数体执行函数细节,一步执行玩函数后,继续向下执行
8.进入函数体执行
(dbx)step
该命令和next类似,只是当执行到函数时候,进入函数体执行函数,将函数体内语句执行完毕后,回到驻函数,继续向下执行
9.从断点处继续向下执行
(dbx)cont
该命令可以用来从一个断点直接执行到另一个断点,也可以在需要的时候,跳出循环(可以在循环内外各设置一个断点)在跟踪完必要的循环次数,单循环尚未结束的时候,直接跳循环,继续执行
10.跳转语句
(dbx)goton//n是行号
11.显示变量的值
(dbx)printi//i为变量名
12.显示变量的定义位置
(dbx)whereisi// i为变量名
显示格式为:文件名.函数名.变量名。如:test.main.i
13.显示变量的类型
(dbx)whatisi// i为变量名
14.在源文件中查找字符串
(dbx)/var//向上查找var
(dbx)?var//向下查找var
15.在(dbx)内部启动和退出shell
(dbx)sh//启动shell