文档库 最新最全的文档下载
当前位置:文档库 › 常用调试工具dbx

常用调试工具dbx

常用调试工具gdb,dbx,valgrind介绍二https://www.wendangku.net/doc/dd14291363.html,/ 2008-6-19 网络 点击:213 [ 评论 ]
文章搜索: 【点击打包该文章】 被过滤广告
【本站开通在线QQ讨论群】

dbx(SUN studio)调试工具:在利用 dbx 对程序进行源代码级调试前,必须使用 -g 选项

启动:dbx program_name加载要调试的程序,调试JAVA程序dbx program_name.class|.jar,可以指定进程ID来连接正在运行的进程进行调试。

也可以在dbx运行时加载调试程序:(dbx)debug program_name

运行调试程序:run [运行参数]

查看core文件:可以dbx program_name core,或者dbx - core,再使用where命令显示栈跟踪,找到崩溃位置

设置断点:stop in 函数;stop at file:line ; 也可以先通过file file-name设置当前文件,list function查看源文件,确定要设置断点的行数。在C++中可以将关键字(inmember、inclass、infunction 或 inobject)在类,成员函数,对象中设置断点。stop change variable可设置当变量改变时停止。条件停止断点:stop cond condition。另外在动态库中可以在动态共享库的函数中以在程序启动时在链接的库中设置断点的同样方式来设置断点。

列出所有断点:status

删除断点:delete 断点号

单步执行:step、next,step 命令步入函数,而 next 命令步过函数。step up将一直执行,直至当前函数将控制返回调用它的函数为止。

继续执行:cont

查看调用栈:where 调用栈代表那些已被调用但尚未返回各自调用程序的所有当前活动例程。在栈中,函数及其参数按调用的顺序进行存放。栈跟踪显示程序流执行的停止位置以及执行如何到达此点。它提供程序状态的简明描述。

检查变量:print 变量名

退出:quit

连接已运行的进程:attach pid

分离已连接的进程:detach pid

查找符号:whereis symbol 打印指定符号所有具体值的列表

要打印输出标识符的声明whatis

对子进程使用运行时检查,可通过attach 子进程ID连接到子进程进行调试。

要显示当前进程的所有线程信息:执行thread,切换到指定线程:thread thr_id

信号处理:

cont -sig signal将信号转发到进程;catch显示当前正在捕获的信号列表;ignore显示程序忽略信号列表

shell方式切换:sh

下一篇:Linux内存检查工具valgrind使用介绍


文章出处:https://www.wendangku.net/doc/dd14291363.html,/course/3_program/c++/cppjs/2008619/126672.html


附录 B. 如何查看C程序产生的CORE DUMP(来源于IBM cn)
Document #: 1317181000005

环境

产品:IBM C 和C++ Compiler
平台:AIX4.3.0以上
版本: C for AIX version 3 以上

问题描述

如何查看C程序产生的CORE DUMP,并找到产生问题的根源?

解答

在AIX操作系统上查看C程序产生的CORE DUMP,可

以使用AIX操作系统提供的命令:dbx. 如果用户在使用时发现无此命令,则需安装 操作系统的文件包:bos.adt.debug。
具体使用dbx命令的方法如下:
1。首先在进行C程序 编译时,要使用-g选项。
cc -g -o samp1.o samp1.c
2.在执行完程序,并产生CORE DUMP文件core后,使用:dbx samp1.o core 命令可查看CORE DUMP。
要想找到是哪个函数或语句引起的问题,在dbx的命令行再输入where,即可显示出所需的信息。dbx的命令行还可执行多种命令以完成不同的查看功能,用户可通过help命令了解这些命令。

相关文档
相关文档 最新文档