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.  查看和导航到代码

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.  宏

宏扩展

宏定义

编译器和编译器选项

功能方面的权衡

限制

略读 (skimming) 错误

使用 pathmap 命令改进略读 (skimming)

D.  命令参考

索引

使用 pathmap 命令改进略读 (skimming)

如果在编译后移动源文件,或是在一台计算机上生成而在另一台计算机上进行调试,或是发生查找源文件和目标文件中所述的其他情况之一,则宏略读可能无法在其略读的文件中找到包含文件。与无法找到文件的其他情况一样,解决方案是使用 pathmap 命令帮助宏略读器定位包含目录。例如,假设使用选项 -I/export/home/proj1/include 进行编译,而且代码中包含语句 #include "module1/api.h"。然后,如果将 proj1 重命名为 proj2,则以下 pathmap 命令将帮助宏略读器定位文件:

pathmap /export/home/proj1 /export/home/proj2

pathmap 不适用于用来编译原始代码的编译器。

处理宏时,必须重新装入应用程序,以使路径映射生效,与找不到文件时的其他情况不同,可以使用 pathmap 命令在路径映射过程中进行更改,这些更改会立即生效。

在一台计算机上生成而在另一台计算机上进行调试时,pathmap 命令可帮助 dbx 找到正确的文件。然而,系统包含文件(如 /usr/include/stdio.h)通常不会从生成计算机中导出,因此宏略读器可能会使用调试计算机中的文件。在某些情况下,系统包含文件可能在调试计算机上不可用。而且,特定于系统的宏和与系统相关的宏的值在调试计算机和生成计算机中可能不相同。

如果 pathmap 命令不能解决略读问题,则考虑使用 -g3 选项编译代码,并将 macro_source dbx 环境变量设置为 skim_unless_compilercompiler