gpt4 book ai didi

c - 如何将c代码的函数调用树转储到文件中?

转载 作者:行者123 更新时间:2023-11-30 18:02:18 25 4
gpt4 key购买 nike

谁能指导我如何构建c代码的调用树如果有人可以建议我任何开源工具我使用过func_tree但它没有显示宏函数调用和宏下的函数......??? ??

最佳答案

就在编译代码之前,C 预处理器会扩展所有宏。这意味着即使编译器也看不到宏定义。对您来说不幸的是,这意味着不可能在函数调用跟踪中包含宏。

根据您对运行时环境的了解程度,有时您可以从堆栈中的当前位置反算堆栈跟踪帧的位置。不幸的是,这通常是一种技巧,具体细节仅适用于一种环境。您需要为每个环境重新执行堆栈语义的发现。 Here is project that performs such a technique ,但无法知道它是否对您很有用。

请注意,这种技术可能也不会显示任何内联编译器,因为当编译器将等效的功能代码放入调用 block 时,函数调用会被重写为不存在。

如果您在 Google 上找不到适合您的特定环境的类似项目,那么您很可能必须自己编写一个项目。如果这超出了您的能力范围,您需要调查是否值得了解您环境的低级详细信息,或者执行更强大的日志记录是否更好。

关于c - 如何将c代码的函数调用树转储到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9230454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com