需要在C中运行程序中编写调用堆栈

时间:2013-03-01 03:29:53

标签: c

我需要在正在运行的程序(在C中)的日志文件中打印调用堆栈,因为我需要检查流程, 我必须将跟踪发送到其他环境,我无法调试,有没有办法在C中执行。

1 个答案:

答案 0 :(得分:1)

如果平台是linux(我也相信OSX),你可以使用backtracebacktrace_symbols来实现你想要的目标。

根据backtrace

的备注部分
  

如果不使用特殊链接器,则符号名称可能不可用   选项。对于使用GNU链接器的系统,有必要使用    - 动态链接器选项。请注意,“静态”函数的名称不会公开,并且在回溯中不可用。