全部博文(346)
分类: LINUX
2008-12-11 20:05:35
dbx 是基于命令行界面的程序调试器,通过交互执行 dbx 子命令来达到调试的目的。在调试程序前,必须先用 -g 选项进行编译。
进入 dbx 通常只需输入“dbx 待调试的可执行程序名”,dbx 加载后就显示提示符“(dbx)”,此时用户可以输入 dbx 子命令进行调试。 下表给出了 dbx 的部分子命令:
dbx 子命令 | 含义 |
---|---|
stop var at n | 置断点,当第 n 行的变量 var 发生变化时挂起程序 |
stop var in proc | 置断点,当过程 proc 的变量 var 发生变化时挂起程序 |
stop at n | 置断点,当执行到第 n 行时挂起程序 |
stop in proc | 置断点,当执行到过程 proc 时挂起程序 |
trace var at n | 置跟踪点,当第 n 行的变量 var 改变时显示被跟踪信息 |
trace var in proc | 置跟踪点,当过程proc的变量var改变时显示被跟踪信息 |
trace n | 置跟踪点,当执行到第n行时显示被跟踪信息 |
trace proc | 置跟踪点,当执行到过程proc时显示被跟踪信息 |
trace expr at n | 置跟踪点,当执行到第n行时显示var的值 |
delete n|all | 去掉第 n 行的或所有断点或跟踪点 |
run args | 开始执行程序,args为参数 |
step [n] | 单步执行一行或n行,遇过程调用就进入 |
next [n] | 单步执行一行或n行,不进入过程调用内部 |
skip [n] | 跳过一个或n个断点,继续往下执行 |
dump [proc] [>file] | 显示当前或proc过程的所有变量名及其值 |
assign var=expr | 给变量var赋以表达式expr的值 |
list | 列出从当前行开始的若干行源程序 |
whatis name | 显示对变量名或过程名name的定义 |
/string | 朝文件尾方向查找字符串string |
?string | 朝文件头方向查找字符串string |
source file | 从文件file中读入dbx子命令并执行 |
sh command | 不退出dbx就执行操作系统shell命令 |
quit | 退出dbx,若程序未执行完就终止其执行 |