我如何编写一个C程序,列出堆栈和堆的所有内容,包括它自己的变量和mallocations?
我的目的是让我能够在编写和测试代码时看到内存中发生了什么。
答案 0 :(得分:3)
c标准没有明确提到堆栈或堆。这一点,以及变量和函数名称被编译出来的事实意味着你的任务是不可能的。
你可以构建自己的编译器,它实际上是一个调试工具。但这可能是荒谬的,因为这样的事情需要很长时间才能构建,而且随着标准的发展,你必须不断地调整它。或者您可以使用生成调试符号的编译器的输出。
更好的是,学会使用一个好的调试器。