基于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: