Minix-在C中创建堆栈跟踪

Minix-在C中创建堆栈跟踪,c,stack,stack-trace,minix,C,Stack,Stack Trace,Minix,这是使用Minix(http://www.minix3.org) 对于Uni的项目,我使用fkey创建stacktrace。我可以访问进程表,并且正在打印进程计数器、堆栈指针和基指针。现在,我被卡住了——我需要能够打印正在被调用的子例程的名称,因为我在堆栈调用中后退了一步 例如:我有一个proc“getty”,SP:0x1669 PC:0x41B0 BP:41B4 我的解释是: SP指向堆栈指针当前所在的位置—执行中的某个位置 PC指向下一条要执行的指令,每一步递增一条 BP指向当前子例程的顶部

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

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

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

我的解释是:

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

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

BP指向当前子例程的顶部


如何从这些内存地址获取子例程名称和/或如何在堆栈中后退?

检查这可能会有帮助哇,我甚至没有想到在doxygen中键入“stacktrace”。谢谢:)