分类:
2012-08-06 01:42:32
原文地址:Unix调试工具dbx使用方法 作者:ArliceDOTlice
$dbx 可执行文件名
可执行文件在编译的时候必须代上 –g 参数
(dbx)list //从文件开头列出代码
(dbx)list n //列出第n行代码
(dbx)list m,n //列出从m行开始的n行代码
(dbx)run //执行不带参数的程序
(dbx)run arg1…argn //执行带参数的程序
该命令相当于VC的快捷键F5
(dbx)stop at n //在第n行设置断点
(dbx)stop in funcname //在funcname函数入口处设置断点
该命令相当于VC的快捷键F9
如果是想在另外的文件中设置断点,可以采用以下方法:
-》file 文件名;跳转至另外一个文件
-》stop命令
或者是
-》stop at/in 文件名(不带后缀).类名::方法名(参数类型列表)
(dbx)status
该命令相当于VC的快捷键Ctrl + B
(dbx)delete n //删除断点,n为行号
(dbx)disable n //屏蔽断点,n为行号
(dbx)enable n //回复断点,n为行号
在使用status命令显示已经设置的断点时,被暂时屏蔽的断点前会有个“*”
(dbx)next
使用该命令当执行到函数时候,不进入函数体执行函数细节,一步执行玩函数后,继续向下执行
(dbx)step
该命令和next类似,只是当执行到函数时候,进入函数体执行函数,将函数体内语句执行完毕后,回到驻函数,继续向下执行
(dbx)cont
该命令可以用来从一个断点直接执行到另一个断点,也可以在需要的时候,跳出循环(可以在循环内外各设置一个断点)在跟踪完必要的循环次数,单循环尚未结束的时候,直接跳循环,继续执行
(dbx)goto n //n是行号
跳转到希望的代码,不过该命令不能改变程序的实际执行顺序
(dbx)print i //i为变量名
(dbx)whereis i // i为变量名
显示格式为:文件名.函数名.变量名。如:test.main.i
(dbx)whatis i // i为变量名
(dbx)/var //向上查找var
(dbx)?var //向下查找var
(dbx)sh //启动shell
退出时直接在提示符下写exit然后回到(dbx)提示符
dbx 可执行文件名 core文件名
使用Esc键+‘-’键可以使用历史命令。