c - 打印出堆栈指针的值

标签 c linux stack-memory stack-pointer

如何在 Linux(Debian 和 Ubuntu)中用 C 打印出堆栈指针的当前值?

我试过谷歌但没有找到结果。

最佳答案

一个技巧,它是不可移植的,甚至不能保证有效,它是简单地打印出本地地址作为指针。

void print_stack_pointer() {
  void* p = NULL;
  printf("%p", (void*)&p);
}

这将打印出 p 的地址,这是当前堆栈指针的一个很好的近似值

关于c - 打印出堆栈指针的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20059673/

相关文章:

c# - 为什么这个总计操作在栈上比在堆上更快?

c++ - 堆还是栈?当在 C++ 中的函数调用中引用常量字符串时

c++ - 多级指针,栈还是堆?

c - 运行 lwIP 1.3.2 的 stellaris 板上的 Websockets

c++ - 在不使用 abs 函数或 if 语句的情况下获取绝对值

c - 函数声明有多重要?

linux - 启动FedoOne服务器

c++ - 如何将 (*sa_handler)(int) 指针设置为类成员函数? (非静态成员函数的无效使用)

linux - 运行powershell脚本而不添加publishsettings文件

c++ - 通过添加一些特殊字符使/* 的含义用于取消引用和划分不用于注释