0

有没有办法从 C 程序中的函数名称/地址访问堆栈帧指针?

我试图从 GDB 中的函数地址开始分析内存地址的内容,但无法获得任何有意义的信息。

有人可以给我一些提示吗?

谢谢。

4

2 回答 2

3

有没有办法从 C 程序中的函数名称/地址访问堆栈帧指针?

您的问题毫无意义:C 程序中函数的名称和地址在链接时是固定的,并且(通常)不会改变。另一方面,堆栈指针是运行时属性,每次调用函数时都可能发生变化。

既然你提到了 GDB,是的,当你在函数内部停止时,你可以找到堆栈指针,例如info frameGDB 命令。

于 2013-07-14T04:04:13.373 回答
1

在函数顶部声明一个变量并获取它的地址?

void foo()
{
int dbg;void* sfp = &dbg;

}
于 2013-07-14T04:07:15.193 回答