原文地址:http://blog.csdn.net/monster_ll/archive/2007/04/05/1553377.aspx
dbx是unix下普遍的源码调试工具, 掌握好了dbx的使用,
无疑象增添了unix下编程的一把利器研究了一下午dbx的
连机文档,发现dbx很是简单易用现在简单介绍一下dbx的
使用方法,让更多的朋友免去独自研究的苦楚dbx主要用来
调试用f77或cc等编译工具生成的fortran和c语言的源代码
当然该程序必须在调试过程中用-g参数包含入调试信息,
比方说我在unix下编写了一个hello.c的程序:
void hello();
main()
{
int i,j;
i=1;
j=2;
i=i+1;
hello();
printf("%d,%d/n",i,j);
}
void hello()
{
printf("hello");
}
先用cc -o helloexe -g hello.c编译生成带调试信息的helloexe文件
然后用dbx helloexe来调试该文件
显示dbx)这个dbx下调试的提示符
现在还不处在调试状态下,需要首先进入调试状态,
这样泥需要先确定从哪里开始第一次中断,以便以后的跟踪调试
这里从第7行开始调试,用命令:
dbx)stop at 7
设置好断点。
用如下命令开始运行;
dbx)run
这时程序运行到第7行停止下来,
并显示下一行将要执行的程序
7: i=i+1
这时,你可以用:
dbx)print i命令来查看i变量的值
显示
1
或者用printf "%d",i来显示用c语言格式的输出。(aix下没有printf命令)
对以后比较负责的数组什么的,用
dbx)duel i方式可能更加显示的方便。
以后泥可以用
dbx)step (step相当于trace into,就是可以进入线程内部,比如本例子中hello()模
块)
或者
dbx)next (next不进入hello()模块内部)
来执行下一行程序。
用
dbx)cont 命令可以直接运行到结束。
dbx中控制命令多多,功能十分强大的。
查看源码可以用
dbx)list begin,end
就显示hello.c文件中从begin到end行的所有程序,并且配上了行号。
用
dbx)file <filename>可以改变泥要查看的源码文件名称.
下面是查看了dbx的man手册后对一些常用/使用命令的中文说明
这些命令对普通的调试已经足够了,一些多线程的调试命令就不加以介绍了
dbx使用指南:
1:实用命令
quit/q 退出
q 退出
run arg1 arg2 ... 用参数运行现有进程
r 用上次的参数再次运行
stop at <line> 在第line行设断点
stop at <proc> 在过程proc被调用处设断点
cont <singal> 继续运行到记号(断点或其他)处
return 执行完目前的进程返回
print <exp> ... 打印表达式的值
printf "string",exp,... 用c语言的格式打印结果
where 打印当前调试状态,包括当前进程等信息
func <proc> 看当前运行进程名/移动到调用proc进程的母进程处
file <file> 查看的文件切换到file文件处
list <exp1>,<exp2> 从file文件中列出从exp1行到exp2行
list <exp>:<int> 列出file文件中从exp行开始的int行
whatis <variable> 显示变量的类型
sh 崭时进入sh状态
sh <shell command> 执行一shell命令
2:常用命令说明
alias name "string" 把string内容定义为一缩略语name
help section 寻找某指令的帮助
playback input <file> 从file中调入调试命令流
playback output <file> 输出file中的调试命令流
record input <file> 把调试过程输出到file中
record output <file> 把命令的运行输出保存到file中
history 显示历史命令
hed 编辑历史调试命令
!<int> 运行历史命令流中第int个命令
!-<int> 运行历史命令中倒数第int个命令
!<string> 运行历史命令流中以string打头的命令
!! 重复上一个命令
command;command ... 多调试命令间用";"隔开
step <int> 向前追踪<int>步,进入线程
next <int> 向前追踪<int>步,不进入线程
delete all 清所有断点
listobj 列出目前使用的obj单元
listregions 列出被用到的内存区
enable <int>/disable <int> 恢复/禁用<int>号断点
catch 显示所有碰到的记号
cont at <line> 运行直到line行
intercept all 在所有例外处都中断
bx chat 在所有出现char打头的异常处中断
kill <pid> 杀死pid线程
goto <line> 从line行开始运行
stop <var> 当var产生变化时中断
stop <proc> 当进入proc进程时中断
stop [var] [at <line>] if <exp> 条件中断
trace <var> 当var变化时输出其原值和新值
trace <proc> 当进入进程时打印出母进程和参数
when if <exp> {command_list} 当条件为真时执行命令列
when at <line> [if <exp>] {command_list} 在遇到line行时如果条件为真执行命令
列
duel <exp> 一种比较好的变量输出方式
printregs 输出所有寄存器的值
status 当前状态
/<string> 向下寻找file中的string字符串
?<string> 向上寻找file中的string字符串
set 设定或显示系统参数值
分享到:
相关推荐
考虑一个简单的C程序,其中有变量`int x = 97`,可以使用`dbx`来查看和处理这个变量的不同形式: ```bash (dbx) print x 97 (dbx) print char(x), x | char, (char)x 'a' 'a' 'a' 97 ``` 通过这种方式,可以方便地...
5. **命令历史记录**:`dbx`会保存命令历史记录,这些记录默认存储在`$HOME/.dbxhistory`文件中,便于重复使用之前的命令。 6. **交互式命令**:在`dbx`中,可以使用各种交互式命令进行调试,如`print`查看变量值、...
为了更好地理解dbx的使用,下面给出一个简单的示例: 假设我们有一个名为`test.c`的C程序,编译时使用了`gcc -g test.c`以包含调试信息。运行程序时发生异常并生成了`core`文件。我们可以使用以下步骤进行调试: 1...
### DBX命令详解 #### 一、DBX命令概述 DBX是一种强大的调试工具,主要用于C、C++、Pascal和FORTRAN等编程语言的程序调试。它通过提供一系列的功能来帮助...熟练掌握DBX的使用方法对于提高开发效率具有重要意义。
### dbx 使用方法详解 #### 一、dbx简介 `dbx` 是 Sun Microsystems 公司开发的一款功能强大的调试工具,主要用于调试 C 和 C++ 编写的...掌握 `dbx` 的使用方法,能够极大地提升开发者在调试过程中的效率和准确性。
一旦程序被加载到dbx中,可以使用`run`命令来运行它。如果需要传入参数,可以在`run`命令后添加参数,例如: ```bash run arg1 arg2 ``` ##### 设置断点 断点是调试中最重要的工具之一,它允许程序暂停在特定的行...
SqlDbx支持在SQL脚本中使用变量,这使得脚本更加灵活多变。 #### 十一、SQL模板 SqlDbx允许用户创建和保存SQL模板,这些模板可以包含可替换的形式参数,便于用户根据实际需要进行调整。 #### 十二、速度输入 ...
GDB(GNU Debugger)和DBX是两种广泛使用的调试工具,尤其在HP、SUN和IBM等平台中被开发者频繁使用。了解并熟练掌握这两种工具的使用,能极大地提高开发效率,确保代码的质量。 首先,我们来详细了解一下GDB。GDB是...
- **从进程中分离dbx**:使用`detach`命令使dbx脱离进程。 - **单步执行**:通过`next`或`step`命令逐行执行代码。 - **继续执行程序**:使用`continue`命令继续执行直到下一个断点或程序结束。 以上是对DBX使用...
- **查找内存访问问题和内存泄漏**: dbx提供了多种方法来检测这类问题,如使用 `watch` 命令监控内存访问。 - **退出dbx** - 使用 `quit` 命令退出调试会话。 - **访问dbx联机帮助** - 使用 `help` 命令获取dbx...
- 使用命令`dbx 可执行文件名 core文件名`可以解析core文件,从而查看程序崩溃时的状态信息。 #### 五、案例演示 假设我们有一个简单的C语言程序`test.c`,其内容如下: ```c #include int main() { int x = 10...
DBX260中文使用手册详细介绍了dbx品牌旗下的260型处理器,该处理器是专为音频处理设计的高级设备,广泛应用于专业音视频系统中。为了正确使用DBX260处理器,手册中详尽地阐述了产品的各种硬件连接方式、功能特点以及...
### sun-dbx命令详解 #### 概述 Sun-Dbx 是 Sun Microsystems 提供的一个功能强大的调试工具,...掌握这些命令的使用方法对于提高开发效率和解决复杂问题具有重要意义。希望本文能帮助读者更好地理解和使用 Sun-Dbx。
本文将深入探讨`dbx`的基本使用方法、命令大全以及在Linux环境下如何有效地利用它来调试程序。 `dbx`的启动与基本操作: 1. **启动dbx**:你可以通过在命令行输入`dbx your_program`来启动`dbx`并附加到你的程序上...
### 如何打开Outlook Express中的dbx...通过以上介绍,相信您已经了解了如何打开Outlook Express中的.dbx文件,无论是直接在原生环境中查看还是使用第三方工具进行转换,都可以根据自己的实际情况选择最合适的方法。
在"mdb和dbx调试资料"这个压缩包中,你应该能找到更多关于如何使用这两个工具的文档和示例,这将帮助你深入理解它们的工作原理和实际应用。学习这些资料,将使你具备诊断和解决复杂系统问题的能力,提升你在IT领域的...
**访问DBX联机帮助**:在DBX中输入`help`命令可以获取在线帮助文档,提供详细的命令说明和使用示例。 #### 二、高级调试技巧 **调试核心转储文件**:在处理核心转储文件时,需要注意其完整性和与调试信息的匹配度...
### dbx-260使用手册关键知识点解析 #### 一、硬件接口与连接 **1.1 后面板连接** - **电源连接**: dbx-260使用IEC电缆线供电,支持100V-240V电压范围,频率50-60Hz,具有广泛的国际兼容性。 - **MIDI接口**: ...