問題タブ [intel-pin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
904 参照

c++ - ピン ツールを使用して、バイナリ インストルメンテーションで特定のループを追跡するにはどうすればよいですか?

私はインテル ピン ツールを初めて使用し、バイナリ ファイル内の特定のループを追跡したいのですが、実行ごとに変更された命令のアドレスを実行ごとに見つけました。実行ごとに変化しますか?

編集 0:

次のアドレスがあります。そのうちの 1 つが RVA です:( アドレスの最初のセクション (小さなアドレス) は実行ごとに一定ですが、最後のセクション (大きなアドレス) は実行ごとに変更されます)
アドレス loop_repeation No. _of_Instruction_In_Loop
4195942 1 8
4195972 1 3 ......
... ...
140513052566480 1 2
...... ... ...

0 投票する
2 に答える
2999 参照

binaryfiles - Intel Pin Tool: アドレスから命令を取得

Intel の Pin Tool を使用してバイナリ インストルメンテーションを行っていますが、特定のアドレスに命令バイト コードを取得する API があるかどうか疑問に思っていました。

何かのようなもの:

ここで、addr は目的のアドレスです。

Pin によって指定された関数 Instruction (単純な/手動の例の多くで使用されている) が命令を取得することは知っていますが、他のアドレスの命令を知る必要があります。私は役に立たずにウェブを熟読しました。どんな助けでも大歓迎です!

乾杯

0 投票する
1 に答える
101 参照

c++ - インテル ピン内部スレッドを使用するプロデューサー コンシューマー

ピン ツールの分析とデータ (分析から収集された) の記録部分を分離するために、プロデューサー コンシューマー モデルを実装しようとしています。PIN スレッド API を調べたところ、何らかの述語に基づいてスレッドを一時停止したり、スレッドに再開を通知したりできる関数は見つかりませんでした ( POSIX スレッドのようpthread_cond_wait()に )。pthread_cond_signal()したがって、ビジー待機を回避しながら、既存の関数を使用してプロデューサー コンシューマー モデルを実現するための回避策はありますか。

注:プロデューサ スレッドとコンシューマ スレッドはどちらも、 によって作成された内部スレッドですPIN_SpawnInternalThread()

0 投票する
1 に答える
710 参照

c++ - PIN ツールは、他のコマンドを実行するためのコードを含む bash スクリプトを計測できますか?

バイナリ イメージ内の特定の関数の前後にコードを挿入できる PIN ツールを作成しました。単一のバイナリ イメージに対して機能しています。

今、私の目的は、そのツールを使用して Linux で Xserver を計測することです。PIN ツールで「startx」を計測しようとしましたが、うまくいきませんでした。後で、startx は他のコマンドを実行するシェル スクリプトにすぎないことがわかりました。

PIN を使用して xserver を計測する場合、どのような手順に従う必要がありますか? PIN を使用して何らかの方法でシェル スクリプトを計測することは可能ですか?

0 投票する
1 に答える
1039 参照

intel-pin - ピンツールでRTNを名前で見つける方法は?

RTN_FindByName() を使用して特定の RTN を検索しましたが、うまくいきませんでした。さらに、コンパイラに RTN をインライン化しないように強制しようとしましたが、まだ機能していません
。コードをテストします。

ピンツールのコード:

どうすればそれを修正できますか、または別の方法でそれを行うことができますか?

コンパイラ: gcc バージョン 4.8
C++ 言語
OS: Ubuntu 14.04 LTS、64 ビット
(テスト コードの) 出力:
Not Found RTN
Not Found RTN
Not Found RTN

0 投票する
1 に答える
425 参照

c++ - 非 JIT モードでピン ツールを使用する方法

ピンツールを作成し、JIT モードで使用しました。Pin チュートリアルから、Pintool は非 JIT モードでも使用できることを読みましたが、その方法を理解できません。例が必要です。ありがとう。

0 投票する
2 に答える
2358 参照

intel-pin - pintool でインストルメント化するコードの領域を指定するにはどうすればよいですか?

Pin には、ルーチン、命令、イメージ、トレースの 4 つのレベルの粒度があります。計装コードの挿入を開始および停止する制限/領域を指定できますか? ( # start instrumentation , # end instrumentation ) のようなディレクティブまたはそのようなものによって、

例:
for( int i=0; i< x; i++) { #startInstrumentation for( ....;.....;.....) { // some code // function call, conditions , loops, .... } #endInstrumentation }
これを行う方法はありますか?