-3

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

4

1 回答 1

1

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

根据注释部分backtrace

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

于 2013-03-01T03:35:55.283 回答