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

D.  命令参考

索引

第 7 章

使用调用堆栈

本章讨论 dbx 如何使用调用堆栈,以及在处理调用堆栈时如何使用 where 命令、hide 命令、unhide 命令和 pop 命令。

在多线程程序中,这些命令可对当前线程的调用堆栈进行操作。有关如何更改当前线程的信息,请参见thread 命令

调用堆栈表示所有当前处于活动状态的例程,即已被调用但尚未返回至各自调用方的例程。堆栈帧是分配供一个函数使用的调用堆栈的一段。

由于调用堆栈是从高端内存(较大地址)延伸到低端内存,因此向上意味着向调用函数的帧移动(最终移动到 main() 或该线程的起始函数),向下意味着向被调用函数的帧移动(最终移动到当前函数)。程序在断点处停止、单步执行后或出错并生成信息转储文件时,用于例程执行的帧位于低端内存中。调用程序例程(如 main())位于高端内存中。

本章由以下部分组成: