编辑: Mckel0ve 2019-10-06
Sun Microsystems, Inc.

www.sun.com 关于本文档的建议请发送到:http://www.sun.com/hwdocs/feedback 使用 dbx 调试程序 Sun? Studio

9 文件号码 817-7882

2004 年8月,修订版 A 请回收 版权所有 ?

2004 Sun Microsystems, Inc.,

4150 Network Circle, Santa Clara, California 95054, U.S.A.保留所有权利. 其使用应遵守许可证条款. 本发行可包含第三方开发的材料. 本产品的某些部分可能是从 Berkeley BSD 系统衍生出来的,并获得了加利福尼亚大学的许可. UNIX 是由 X/Open Company, Ltd. 在美国和 其他国家 / 地区独家许可的注册商标. Sun、 Sun Microsystems、 Sun 徽标、 Java 和JavaHelp 是Sun Microsystems, Inc. 在美国和其他国家 (地区)的商标或注册商标.所有 SPARC 商标的使用均已获得许可,它们是 SPARC International, Inc. 在美国和其他国家 / 地区的商标或注册商标.标有 SPARC 商标的产品均 基于由 Sun Microsystems, Inc. 开发的体系结构. 本服务手册所介绍的产品以及所包含的信息受美国出口控制法制约,并应遵守其他国家 / 地区的进出口法律.严禁将本产品直接或间接地用于 核设施、导弹、生化武器或海上核设施,也不能直接或间接地出口给核设施、导弹、生化武器或海上核设施的最终用户.严禁出口或转口到美 国禁运的国家 / 地区以及美国禁止出口清单中所包含的实体,包括但不限于被禁止的个人以及特别指定的国家 / 地区. 本文档按 原样 提供,对所有明示或默示的条件、陈述和担保,包括对适销性、适用性和非侵权性的默示保证,均不承担任何责任,除非此 免责声明的适用范围在法律上无效.

3 目录 开始之前

25 本书的结构

25 排版惯例

27 Shell 提示符

28 访问 Sun Studio 软件和手册页

28 访问 Sun Studio 文档

30 访问相关的 Solaris 文档

33 开发人员资源

33 与Sun 技术支持联系

34 Sun 欢迎您提出意见和建议

34 1. dbx 入门

35 编译调试代码

35 启动 dbx 和加载程序

36 在dbx 中运行程序

38 使用 dbx 调试程序

39 检查核心文件

39 设置断点

40 单步执行程序

42 查看调用栈

43 4 使用 dbx 调试程序 ?

2004 年8月检查变量

43 查找内存访问问题和内存泄漏

44 退出 dbx

44 访问 dbx 联机帮助

45 2. 启动 dbx

47 启动调试会话

47 调试核心文件

48 在相同的操作环境中调试核心文件

48 如果核心文件被截断

49 调试不匹配的核心文件

49 使用进程 ID

51 dbx 启动序列

52 设置启动属性

52 将编译时目录映射到调试时目录

52 设置 dbx 环境变量

53 创建自己的 dbx 命令

53 编译调试程序

54 调试优化代码

54 编译时未使用 -g 选项的代码

55 共享库要求 -g 选项以获得完全 dbx 支持

55 完全剥离的程序

55 退出调试

55 停止进程执行

56 从dbx 中分离进程

56 中止程序而不终止会话

56 保存和恢复调试运行

57 使用 save 命令

57 将系列调试运行另存为检查点

58 目录

5 恢复已保存的运行

58 使用 replay 恢复和保存

59 3. 定制 dbx

61 使用 dbx 初始化文件

61 创建 .dbxrc 文件

62 初始化文件示例

62 设置 dbx 环境变量

62 dbx 环境变量和 Korn Shell

67 4. 查看和导航到代码

69 导航到代码

69 导航到文件

70 导航到函数

70 打印源码列表

71 在调用栈中移动以导航到代码

71 程序位置的类型

71 程序作用域

72 反映当前作用域的变量

72 访问作用域

72 使用作用域转换操作符限定符号

74 反引号操作符

74 C++ 双冒号作用域转换操作符

75 块局部操作符

75 链接程序名

77 查找符号

77 打印符号具体值列表

77 确定 dbx 使用哪个符号

78 作用域转换搜索路径

78 6 使用 dbx 调试程序 ?

2004 年8月放松作用域查找规则

79 查看变量、成员、类型和类

79 查找变量、成员和函数的定义

80 查找类型和类的定义

81 在目标文件和可执行文件中调试信息

83 目标文件装入

83 列出模块的调试信息

84 列出模块

85 查找源文件和目标文件

85 5. 控制程序执行

87 运行程序

87 将dbx 连接到正在运行的进程

88 从进程中分离 dbx

89 单步执行程序

90 单步执行

90 继续执行程序

90 调用函数

91 使用 Ctrl+C 停止进程

92 6. 设置断点和跟踪

93 设置断点

93 在源代码行设置 stop 断点

94 在函数中设置 stop 断点

95 在C++ 程序中设置多个断点

96 设置数据更改断点

97 在断点上设置过滤器

100 跟踪执行

102 设置跟踪

103 目录

7 控制跟踪速度

103 将跟踪输出定向到文件

103 在行中设置 when 断点

104 在共享库中设置断点

104 列出和清除断点

104 列出断点和跟踪

105 使用处理程序 ID 号删除特定断点

105 启用和禁用断点

105 效率方面的考虑

105 7. 使用调用栈

107 确定在栈中的位置

107 栈中移动和返回起始位置

108 在栈中上下移动

108 栈中上移

108 栈中下移

109 移到特定帧

109 弹出调用栈

109 隐藏栈帧

110 显示和读取栈跟踪

110 8. 求值和显示数据

113 求变量和表达式的值

113 验证 dbx 使用的变量

113 当前函数作用域之外的变量

113 打印变量、表达式或标识符的值

114 打印 C++

114 非关联化指针

115 监视表达式

116 8 使用 dbx 调试程序 ?

2004 年8月关闭显示 (取消显示)

116 给变量赋值

117 求数组的值

117 数组分片

117 数组片

121 跨距

121 9. 使用运行时检查

123 运行时检查功能

123 使用运行时检查的时机

124 运行时检查要求

124 局限性

124 使用运行时检查

125 打开内存使用和内存泄漏检查

125 打开内存访问检查

125 打开所有运行时检查

125 关闭运行时检查

126 运行程序

126 使用访问检查

129 理解内存访问错误报告

130 内存访问错误

130 使用内存泄漏检查

131 检测内存泄漏错误

132 可能的泄漏

132 检查泄漏

133 理解内存泄漏报告

133 修复内存泄漏

135 使用内存使用检查

136 禁止错误

137 目录

9 禁止的类型

138 禁止错误示例

138 缺省禁止

139 使用禁止来管理错误

140 对子进程使用运行时检查

140 对连接的进程使用运行时检查

144 同时使用修复并继续与运行时检查

144 运行时检查应用编程接口

146 在批处理模式下使用运行时检查

147 bcheck 语法

147 bcheck 示例

147 直接在 dbx 中启用批处理模式

148 疑难解答提示

148 运行时检查的

8 兆字节限制

149 运行时检查错误

150 访问错误

150 内存泄漏错误

153 10. 修复并继续

155 使用修复并继续

155 修复并继续如何操作

156 使用修复并继续修改源码

156 修复程序

156 修复后继续

157 修复后更改变量

158 修改头文件

160 修复 C++ 模板定义

160 10 使用 dbx 调试程序 ?

2004 年8月11. 调试多线程应用程序

161 了解多线程调试

161 线程信息

162 查看另一线程的上下文

163 查看线程列表

164 恢复执行

164 理解 LWP 信息

165 12. 调试 OpenMP 程序

167 编译器如何转换 OpenMP 代码

168 OpenMP 代码可用的 dbx 功能

168 使用带 OpenMP 代码的栈跟踪

169 在OpenMP 代码上使用 dump 命令

170 OpenMP 代码的执行序列

171 13. 调试子进程

173 连接到子进程

173 跟随 exec 函数

174 跟随 fork 函数

174 与事件交互

174 14. 处理信号

175 了解信号事件

175 捕获信号

176 更改缺省信号列表

177 捕获 FPE 信号 (仅限 Solaris 平台)

177 在程序中发送信号

178 自动处理信号

179 目录

11 15. 使用 dbx 调试 C++

181 使用 dbx 调试 C++

181 dbx 中的异常处理

182 异常处理命令

182 异常处理示例

183 使用 C++ 模板调试

185 模板示例

186 C++ 模板的命令

187 16. 使用 dbx 调试 Fortran

193 调试 Fortran

193 当前过程和文件

193 大写字母

194 dbx 会话示例

194 调试段故障

197 使用 dbx 来 找到故障

198 定位异常

198 跟踪调用

199 处理数组

200 Fortran

95 可分配数组

201 显示内在函数 20........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题