如何编写自己的函数来打印回跟踪

时间:2011-08-15 05:54:28

标签: c backtrace

如何编写C函数来打印跟踪,直到调用该函数。 我不想使用任何库。我想编写自己的代码来完成这项工作 任何人都可以请输入来完成这项任务吗?

2 个答案:

答案 0 :(得分:3)

您不能在可移植C中编写这样的函数,如果不了解编译器使用的特定平台和调用约定,则无法编写它。因此,您的问题(目前)缺乏回答所需的所有细节。

如果您想了解backtrace()的工作原理,您可以研究任意数量的可用实现。

如果你想从头开始实现(作业?),请研究你的平台的调用约定。

答案 1 :(得分:1)

没有可移植的方法可以做到这一点,但是gcc提供了一种半途而废的方式来与__builtin_return_address和朋友一起完成。