読者です 読者をやめる 読者になる 読者になる

Twitterに書ききれないこと

イベントや技術的なことを記したい・・・

Windows7でPINのサンプルを使ってみた

Windows7Intel PINを使ってみた。

Pin - A Dynamic Binary Instrumentation Tool | Intel® Developer Zone

インストール

  1. Cygwinのインストール Cygwinをインストールしてpathを設定し、makeを使用できるようにしておく。 Cygwin

2.VisualStudioのインストール dll作成のため、VisualStudioをインストールする。今回はVisual Studio2012を使用した。

3.対応するPin kitsのダウンロード

コンパイル

VS2012の開発者コマンドプロンプトを開く

//サンプルのソースがあるディレクトリへ移動
cd C:\Users\username\pin-2.14-71313-msvc11-windows\source\tools\ManualExamples

//コンパイル
make all TARGET=intel64

実行

pin-2.14-71313-msvc11-windowsにあるPin.exeの引数に作成したDLL、ターゲットを指定して実行する。 今回はターゲットプログラムの命令数をカウントするinscount0.dllとnotepad.exeを指定した。

C:\Users\username\pin-2.14-71313-msvc11-windows>pin.exe source\tools\ManualExamples\obj-intel64\inscount0.dll -- notepad.exe

実行後、inscount.outに命令数が記録されている。

今後は自分でサンプルを書いてみようと思う。




Windows10

Windows10で実行すると以下のエラーが出る。

C:\Users\username\pin-2.14-71313-msvc11-windows>pin.exe source\tools\ManualExamples\obj-ia32\inscount0.dll -- notepad.exe
E: DBG_TRACE: Unexpected debugging event: EXCEPTION_DEBUG_EVENT: ExceptionCode  = 0xc0000005, ExceptionAddress = 0x6b781243, Instruction = 418b01a9f8fffeff0f85a40000002501
E: Incompatible operating system or incompatible software installed on the system
E: Pin is exiting due to fatal error

調べてみるとIntel SDEがWindows10に対応してないとのことだった。
Intel SDEの最新版をダウンロードし、pinのディレクトリ内に入れる。

pinとtoolkitのバージョンが合わないというエラーが出た。

Pin 2.15 kit 74797 E:  Pintool version does not match pin Pin:  @CHARM-VERSION: $Rev: 74797 $ Tool: @CHARM-VERSION: $Rev: 71293 $

どうやらWindows10で使うには新しいバージョンを待つ必要がありそう。