llvm基本块跟踪

时间:2011-02-07 22:47:51

标签: debugging llvm tracing

我正在尝试浏览LLVM工具链(它似乎在不断变化)并且正在寻找一个调试工具:我想要一个LLVM程序在执行时运行的基本块流。看起来lli曾经有一个-trace选项可以做到这一点,但2.8似乎没有这个 - 我假设现在有更“现代”的方法吗?其中一个-print-after选项会做我想要的吗?

感谢。

2 个答案:

答案 0 :(得分:2)

无法找到直接答案,但这是使用valgrind的方法:

valgrind --log-file=blocks --vex-guest-chase-thresh=0 --trace-superblocks=yes --tool=lackey ./a.out

(然后检查'blocks'文件)

答案 1 :(得分:0)

我的建议是创建一个类,该类将扩展Interpreter类并覆盖您需要的visitXXX。请注意,这些方法不是Interpreter内部的虚拟方法,因此请记住更新代码:)