2013-01-10 48 views
1

因此,我有一些需要用pintools開發的東西,而且我很難用eclipse完成所有這些工作。使用Eclipse CDT進行Pintool開發

我發現this,但它沒有給出非常具體的細節。我希望有人能夠提供關於如何在Mac(或Linux)上使用eclipse來開發pintools的非常具體的指示。

我嘗試了一下,發現在Mac上你必須安裝鐺建立工具鏈,即使如此,做一個簡單的MyPinTool導入比看起來更難,因爲makefile指定了很多額外的選項/我不知道如何最好或正確地在eclipse中進行配置。

您可以下載pintools。我正在討論的makefile文件位於source/tools/MyPinTool中,它提供了一個位於tools/makefile.gnu.config的文件。

編輯:順便說一下,我在Mac OS X Lion上使用i7使用針2.12

c++ --version返回此:

蘋果鐺版本4.1(標籤/蘋果/鐺-421.11.66)(基於LLVM 3.1svn)目標:x86_64的 - 蘋果darwin11.4.2主題型號:posix

回答

2

我會猜測您使用的是最新版本的Eclipse(4.2),並且您開始使用「source/tools」中的模板MyPinTool pintool進行工作。我會採取這些猜測,因爲配置CDT以從編譯工具識別引腳環境而不是手動配置它更容易。

首先從現有源生成文件項目: enter image description here

然後轉到您的項目屬性和「C/C++常規」下選擇 - >「預處理包括......」的「CDT GCC編譯輸出分析器」,確保它被啓用,如果您使用的是鐺++的編譯器,你的編譯器模式添加: enter image description here

現在從Eclipse中建立自己的pintool(或者點擊工具欄上的錘子圖標,或右鍵單擊你的項目並選擇「Build Project」)。 CDT應解析構建輸出並解析所有路徑和所需的宏。基本上,現在你是好去...但是...

我發現,CDT有一些怪癖,如果不工作,嘗試做到以下幾點:

  1. 檢查,如果你正在處理「深」路徑(/ a/b/c/d/e/f/g/h/i/j/k/l/m),有時CDT會採用make文件使用的相對構建路徑,並將其轉化爲錯誤的絕對路徑。我發現在「更淺」的路徑上工作可以解決這個問題(我應該爲此打開一個錯誤報告)。
  2. 有時索引器沒有馬上踢。嘗試刷新項目,重建索引(右鍵單擊項目,然後「索引」 - >「重建」),甚至重新啓動eclipse,然後再次執行此操作。

我知道這是一個有點巫術,但我得到了它的工作:)

我測試了一個新的套件,MyPinTool這個程序,但如果它仍然不能正常工作,請提供以下步驟:你做了什麼,日食給你什麼錯誤。

+0

謝謝我感謝你對我的承諾。我贊成你並選擇你的答案爲最好。謝謝!對於遲到的回覆感到抱歉,我一直忙於讀研究生:) –

相關問題