JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:使用 dbx 调试程序     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  dbx 入门

2.  启动 dbx

3.  定制 dbx

4.  查看和导航到代码

导航到代码

导航到文件

导航到函数

从 C++ 二义函数名称列表中选择

在多个具体值中进行选择

打印源码列表

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

程序位置的类型

程序作用域

反映当前作用域的变量

访问作用域

访问作用域的组件

更改访问作用域

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

反引号操作符

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

块局部操作符

链接程序名

查找符号

打印符号具体值列表

确定 dbx 使用哪个符号

作用域转换搜索路径

放宽作用域查找规则

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

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

查找类型和类的定义

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

目标文件装入

列出模块的调试信息

列出模块

查找源文件和目标文件

5.  控制程序执行

6.  设置断点和跟踪

7.  使用调用堆栈

8.  求值和显示数据

9.  使用运行时检查

10.  修复并继续

11.  调试多线程应用程序

12.  调试子进程

13.  调试 OpenMP 程序

14.  处理信号

15.  使用 dbx 调试 C++

16.  使用 dbx 调试 Fortran

17.  使用 dbx 调试 Java 应用程序

18.  在机器指令级调试

19.  将 dbx 与 Korn Shell 配合使用

20.  调试共享库

A.  修改程序状态

B.  事件管理

C.  宏

D.  命令参考

索引

查找源文件和目标文件

dbx 必须知道与程序关联的源代码文件的位置。源文件的缺省目录是上次编译时它们所在的目录。如果移动源文件或将源文件复制到新位置,必须重新链接程序并在调试前更改为新位置,或者使用 pathmap 命令。

如果采用 Sun Studio 11 及早期发行版中 dbx 所用的 stabs 格式,dbx 中的调试信息有时会使用对象文件来载入其他调试信息。当 dbx 显示源代码时,会使用源文件。

包括源文件路径在内的符号信息包含在可执行文件中。当 dbx 需要显示源代码行时,将根据查找源文件的需要读取适量的符号信息,并读取和显示源文件中的代码行。

符号信息包括源文件的完整路径名,但是当键入 dbx 命令时,通常只使用文件的基本名称。例如:

stop at test.cc:34

dbx 将在符号信息中搜索匹配的文件。

如果源文件已经删除,dbx 将无法显示这些文件中的源代码行,但您可以显示堆栈跟踪,输出变量值,甚至还可以知道现在所处的源代码行。

如果在编译和链接程序后移动了源文件,可将其新位置添加到搜索路径中。pathmap 命令可创建从文件系统的当前视图到可执行映像中的名称的映射。该映射应用于源路径和目标文件路径。

要建立从目录 from 到目录 to 的新映射:

(dbx) pathmap [-c] from to

如果使用 -c,该映射还将应用于当前工作目录。

pathmap 命令还可用于处理在不同主机上具有不同基路径的自动挂载或显式 NFS 挂载的文件系统。因为当前工作目录在自动挂载的文件系统中不准确,所以在尝试解决由自动挂载程序引起的问题时,请使用 -c

缺省情况下,存在 /tmp_mnt/ 的映射。

有关更多信息,请参见pathmap 命令