全部博文(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,若程序未执行完就终止其执行 |