Chinaunix首页 | 论坛 | 博客
  • 博客访问: 755998
  • 博文数量: 96
  • 博客积分: 2023
  • 博客等级: 上尉
  • 技术积分: 1738
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-15 10:03
文章分类

全部博文(96)

文章存档

2014年(11)

2012年(85)

分类: 系统运维

2012-05-09 12:56:39

1. 执行dbx

$dbx 可执行文件名

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

 2. 显示代码

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

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

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

3.      执行程序

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

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

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

4. 设置断点

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

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

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

如果是想在另外的文件中设置断点,可以采用以下方法:

-》file 文件名;跳转至另外一个文件

-》stop命令

或者是

-》stop at/in 文件名(不带后缀).类名::方法名(参数类型列表)

 5. 显示已经设置过的断点

(dbx)status    

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

6. 删除和屏蔽断点

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

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

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

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

 7.      单步执行程序

(dbx)next

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

 8. 进入函数体执行

(dbx)step

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

 9. 从断点处继续向下执行

(dbx)cont

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

 10. 跳转语句

(dbx)goto       n                    //n是行号

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

11. 显示变量的值

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

12. 显示变量的定义位置

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

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

13. 显示变量的类型

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

14. 在源文件中查找字符串

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

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

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

(dbx)sh                                 //启动shell

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

16. 使用dbx解析core文件

dbx     可执行文件名     core文件名

 

使用Esc键+‘-’键可以使用历史命令。

阅读(2208) | 评论(0) | 转发(1) |
0

上一篇:getchar

下一篇:Linux的gdb和Unix的dbx

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