我非常喜欢 IDA ,但我正在 Solaris 上从事这个项目。我确实有一台 linux 机器,如果没有任何东西与 IDA 处于同一级别,那么我将说服管理层为其购买许可证。
除此之外,我正在寻找替代建议。 IDA 中的一些其他功能会很方便,但目前我需要的主要是基于源代码的调用流图生成器 而不是 。如果它需要来自构建步骤的额外输出,那很好,但是我需要查看的一些库我没有源代码。
到目前为止,看起来我最好的选择是 Valgrind 的 Callgrind 、 lida 和 gprof 。欢迎任何进一步的建议。
回复:gprof,Windriver 提供给我们的 GNU 编译器集缺少一些库,这些库通常会随 GNU 编译器一起提供以提供(除其他外)用于分析的工具。对于更普遍的问题,这是一个很好的解决方案,但现在我选择先尝试其他解决方案。
编辑一些 Rational 工具(Purify、Quantify 等)可能也适用于此。我与 IDA 在同一条船上,但我认为谷歌搜索可能会发现该建议有帮助。
edit2 Valgrind 尚未移植到 solaris/sparc ;p
最佳答案
看看 ERESI Project 。它是一个逆向工程框架,它有一个名为 ELFsh 的工具,具有从机器代码生成 CFG 的能力。它还没有稳定版/决赛版,但值得一试。
如果你想尝试:
elfsh32
。你会进入一个shell。 load /bin/bash
analyse
graph
你会得到一个 .dot 格式的图形和一个渲染的 PNG(这个太大,不能在这里发布)。
关于c++ - 生成调用流程图的工具【C C++ solaris linux】,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5639927/