正如您可能知道的,PIN是一个动态二进制插装工具。例如,通过使用Pin,我可以检测应用程序中的每个加载和存储。我想知道是否有类似的工具可以在编译时注入代码(使用更高级别的信息,不需要我们编写LLVM传递),而不是像Pin那样在运行时注入代码。我对这种用于LLVM的工具特别感兴趣。
发布于 2012-09-21 23:39:36
您可以编写自己的LLVM passes,并将它们应用于您的代码,以便在编译时对其进行“检测”。它们在LLVM IR上工作,并产生LLVM IR,因此对于某些任务来说,这是一件非常自然的事情,而对于其他任务,这可能会很麻烦或困难(因为LLVM和IR以及源语言之间的差异)。那得看情况。
https://stackoverflow.com/questions/12533682
复制相似问题