0

这是使用 Minix (http://www.minix3.org)。

对于 Uni 的一个项目,我正在使用 fkey 创建一个堆栈跟踪。我可以访问进程表,并且正在打印进程计数器、堆栈指针和基指针。现在,我被卡住了——我需要能够打印出正在调用的子例程的名称,因为我在堆栈调用中退一步。

例如:我有 proc “getty”,SP:0x1669 PC:0x41B0 BP:41B4

我的解释:

SP 指向堆栈指针当前所在的位置 - 执行中的某个位置。

PC 指向下一条要执行的指令,每步加一

BP 指向当前子程序的顶部

我将如何从这些内存地址获取子例程名称和/或我将如何退后一步通过堆栈?

4

0 回答 0