跳过导航链接 | |
退出打印视图 | |
![]() |
Oracle Solaris Studio 12.3:使用 dbx 调试程序 Oracle Solaris Studio 12.3 Information Library (简体中文) |
本章讨论 dbx 如何使用调用堆栈,以及在处理调用堆栈时如何使用 where 命令、hide 命令、unhide 命令和 pop 命令。
在多线程程序中,这些命令可对当前线程的调用堆栈进行操作。有关如何更改当前线程的信息,请参见thread 命令。
调用堆栈表示所有当前处于活动状态的例程,即已被调用但尚未返回至各自调用方的例程。堆栈帧是分配供一个函数使用的调用堆栈的一段。
由于调用堆栈是从高端内存(较大地址)延伸到低端内存,因此向上意味着向调用函数的帧移动(最终移动到 main() 或该线程的起始函数),向下意味着向被调用函数的帧移动(最终移动到当前函数)。程序在断点处停止、单步执行后或出错并生成信息转储文件时,用于例程执行的帧位于低端内存中。调用程序例程(如 main())位于高端内存中。
本章由以下部分组成: