dbx 常用命令

基于AIX 6.1平台的dbx(建议您直接查看官网帮助)

启动调试

命令 说明
dbx [pro] 调试未启动的程序pro
dbx -a [pid] 调试正在运行的进程(进程号为pid)
detach 退出调试该程序(但不退出dbx), 让程序继续执行
quit 退出dbx

调试过程中的命令

断点

命令 说明
cont 从当前断点继续执行, 直到下一个断点(如有下一个断点的话)
delete 删除断点. 如
删除第1个断点(断点编号可通过'status'查找):
(dbx) delete 1
status 显示当前所有断点
stop in function
stop at "file":line
设置断点. 如
在函数myfunc处设置断点:
(dbx) stop in myfunc
在源文件main.c的第100行设置断点:
(dbx) stop at "main.c":100
use + [path] 增加程序的源码搜索路径, 如use + ../src/os

显示代码

命令 说明
list 显示当前执行的代码, 如
显示当前文件的10到20行代码:
(dbx) list 10,20
use + [path] 增加程序的源码搜索路径, 如use + ../src/os

多进程

命令 说明
multpro multproc parent表示跟踪父进程
multproc child表示跟踪子进程

多线程

命令 说明
thread 显示当前所有线程, 如
(dbx) thread
 thread  state-k     wchan            state-u    k-tid mode held scope function
 $t1     wait      0xf1000f0a1004a540 blocked  77922367   k   no   sys                    
>$t2     run                          running  62128185   k   no   sys  __fd_select       
 $t3     wait                         running  76873903   k   no   sys  
显示线程1的详细信息:
(dbx) thread info 1
 thread  state-k     wchan            state-u    k-tid mode held scope function
 $t1     wait      0xf1000f0a1004a540 blocked  77922367   k   no   sys                   
      general:
         pthread addr = 0x00000001100aa2f8         size         = 0x488
         vp addr      = 0x00000001100ac548         size         = 0x330
         thread errno = 0
         start pc     = 0x100002b04
         joinable     = yes
         pthread_t    = 1
      scheduler:
         kernel       =
         user         = 1 (other)
         nice         = 60
      event :
         event        = 0x0
         cancel       = enabled, deferred, not pending
      stack storage:
         base         = 0xfffffff00000000         size         = 0xfffff910
         limit        = 0xffffffffffff910
         sp           = 0xffffffffffff610

可参考官网帮助:http://publib.boulder.ibm.com/infocenter/aix/v6r1/topic/com.ibm.aix.cmds/doc/aixcmds2/dbx.htm


References:

IBM AIX 6.1 Information Center: dbx

你可能感兴趣的:(dbx 常用命令)