DBX 常用命令

来源:互联网 发布:telnet端口号23 编辑:程序博客网 时间:2024/06/06 20:13

执行dbx

$dbx 可执行文件名

可执行文件在编译的时候必须代上 –g 参数

显示代码

(dbx)l //从文件开头列出代码

(dbx)list //从文件开头列出代码

(dbx)list n//列出第n行代码

(dbx)list m,n//列出从m行开始的n行代码

执行程序

(dbx)run //执行不带参数的程序

(dbx)run arg1…argn//执行带参数的程序

(dbx)rerun 重新执行程序

该命令相当于VC的快捷键F5

设置断点

(dbx)stop at n //在第n行设置断点

(dbx)stop in funcname//在funcname函数入口处设置断点

该命令相当于VC的快捷键F9

显示已经设置过的断点

(dbx)status

该命令相当于VC的快捷键Ctrl + B

删除和屏蔽断点

(dbx)delete n //删除断点,n为行号

(dbx)disable n //屏蔽断点,n为行号

(dbx)enable n //回复断点,n为行号

在使用status命令显示已经设置的断点时,被暂时屏蔽的断点前会有个“*”

单步执行程序

(dbx)next

使用该命令当执行到函数时候,不进入函数体执行函数细节,一步执行玩函数后,继续向下执行

进入函数体执行

(dbx)step

该命令和next类似,只是当执行到函数时候,进入函数体执行函数,将函数体内语句执行完毕后,回到驻函数,继续向下执行

(dbx)return 跳出函数

从断点处继续向下执行

(dbx)cont

该命令可以用来从一个断点直接执行到另一个断点,也可以在需要的时候,跳出循环(可以在循环内外各设置一个断点)在跟踪完必要的循环次数,单循环尚未结束的时候,直接跳循环,继续执行

跳转语句

(dbx)goto n //n是行号

跳转到希望的代码,不过该命令不能改变程序的实际执行顺序

显示变量的值

(dbx)print i //i为变量名

修改变量的值

assign var=exp

显示变量的定义位置

(dbx)whereis i // i为变量名

显示格式为:文件名.函数名.变量名。如:test.main.i

显示变量的类型

(dbx)whatis i // i为变量名

在源文件中查找字符串

(dbx)/var //向上查找var

(dbx)?var //向下查找var

在(dbx)内部启动和退出shell

(dbx)sh //启动shell

退出时直接在提示符下写exit然后回到(dbx)提示符

使用dbx解析core文件

dbx 可执行文件名 core文件名


原创粉丝点击