可能重复:
打印 C 或 C++ 中的调用堆栈
通常在调试代码时,我需要弄清楚谁在调用我在其中放置了调试语句的函数。我知道它__FUNCTION__
的计算结果是当前函数的名称,但是是否有类似的东西会给我被调用者的名称? 或者也许打印出调用堆栈?
信息必须可用。如果我输入一个会发生段错误的断言或代码,我会得到一个显示整个调用堆栈的堆栈跟踪。堆栈跟踪打印代码从哪里获得该信息?
如果您无法生成与平台无关的解决方案,那么可以在 x86_64 Ubuntu 12.04 上编译的东西gcc
就可以了。为其他平台提供解决方案的奖励积分。