使用Eclipse CDT进行Pintool开发

时间:2013-01-10 22:09:41

标签: c++ c eclipse eclipse-cdt

所以,我有一些我需要使用pintools开发的东西,而且我很难使用eclipse。

我找到this,但它没有提供非常具体的细节。我希望有人可以提供非常具体的指示,说明如何在Mac(或Linux)上使用eclipse来开发pintools。

我尝试了一下,发现在mac上你必须安装clang构建工具链,即便如此,做一个简单的MyPinTool导入比看起来更难,因为makefile指定了很多额外的选项/变量我不知道在eclipse中配置的最佳或正确方式。

您可以下载pintools。我正在谈论的makefile是在source / tools / MyPinTool中,它来源于tools / makefile.gnu.config的文件

编辑:顺便说一下,我在Mac OS X Lion上用i7使用引脚2.12

c++ --version会返回此信息:

  

Apple clang 4.1版(标签/ Apple / clang-421.11.66)(基于LLVM   3.1svn)目标:x86_64-apple-darwin11.4.2线程模型:posix

1 个答案:

答案 0 :(得分:2)

我猜你正在使用最新版本的Eclipse(4.2),并且你开始使用模板MyPinTool pintool" source / tools"。我将采取这些猜测,因为配置CDT以便从编译工具识别引脚环境要容易得多,而不是手动配置它。

首先从现有源创建一个makefile项目: enter image description here

然后转到您的项目属性并选择" C / C ++ General" - > "预处理器包括......" " CDT GCC构建输出解析器",确保它已启用,如果您使用clang ++作为编译器,则将其添加到编译器模式中: enter image description here

现在在eclipse中构建你的pintool(点击工具栏中的锤子图标,或者右击你的项目并选择" Build Project")。 CDT应该解析构建输出并从中解析所有路径和所需的宏。基本上,现在你很高兴......但是......

我发现CDT有一些怪癖,如果这不起作用,请尝试执行以下操作:

  1. 检查您是否正在使用" deep" path(/ a / b / c / d / e / f / g / h / i / j / k / l / m),有时CDT采用make文件使用的相对构建路径,并将其转换为错误的绝对路径路径。我发现在一个更浅的工作中工作了#34; path解决了这个问题(我应该为此打开一个错误报告......)。
  2. 有时索引器不会马上启动。尝试刷新项目,重建索引(右键单击项目然后"索引" - >"重建"),甚至重新启动eclipse然后再次执行此操作。
  3. 我知道这是一种伏都魔术,但我得到了它的工作:)

    我在使用MyPinTool的新套件上测试了这个程序,但是如果它仍然不起作用,请提供你所做的步骤以及eclipse给你的错误。