Questions tagged [intel-pin]

Pin is a dynamic binary instrumentation framework for the IA-32 and x86-64 instruction-set architectures that enables the creation of dynamic program analysis tools.

"Pin is a dynamic binary instrumentation framework for the IA-32 and x86-64 instruction-set architectures that enables the creation of dynamic program analysis tools."

Pin resources:

237 questions
2
votes
1 answer

Intel Pin Tool permission error

The following works fine and I get the edgecnt out from 'ls' program on my ubuntu 14.04 system.. $ ../../../pin.sh -t obj-intel64/edgcnt.so -- /bin/ls but while using it on my node application I got permission denied error: $ ../../../pin.sh -t…
samira
  • 399
  • 1
  • 3
  • 12
2
votes
3 answers

Profile 32-bit app on 64-bit system using INTEL PIN

I compiled a C program using -m32 gcc option . I want to profile this program using a Pin tool . My kernel is 64 bit. I have tried :- 1) pin -t64 <64-bit toolname> -t <32-bit toolname> -- 2) pin -t <32-bit toolname> -- 3)…
G Ashwin
  • 23
  • 1
  • 6
2
votes
1 answer

Debugging PIN tool add-symbol-file doesn't work

To debug a simulator which uses PIN tool, by using 2 different terminal windows, I do the following: /home/agy/mcsim/pin/intel64/bin/pinbin -pause_tool 5 -t /home/agy/mcsim/Pthread/mypthreadtool -port 47145 -skip_first 10000 --…
2
votes
1 answer

Using Intel's PIN tool to count the number of cache hits/misses in a program

I've been trying to write a pintool to instrument cache hits and misses in a given program. I found that there are calls such as INS_IsMemoryRead/Write to determine if the instruction is a LD/ST. Is there a way to determine if the instruction had…
jithinpt
  • 1,204
  • 2
  • 16
  • 33
2
votes
1 answer

Getting physical address in pin tool

I'm using pin instrumentation tool to get memory traces. By my implementation result, I've found the traces indicate virtual address, not physical address. Is there any way to get physical address trace in Pin tool? Help!
BK Kim
  • 21
  • 3
2
votes
2 answers

Force memory allocation always to the same virtual address

I'm experimenting with Pin, an instrumentation tool, which I use to compute some statistics based on memory address of my variables. I want to re-run my program with the information gathered by my instrumentation tool, but for that it's crucial that…
iomartin
  • 3,149
  • 9
  • 31
  • 47
2
votes
1 answer

Major Perf and PIN profiling discrepancies

To analyze certain attributes of execution times, I was going to use both Perf and PIN in separate executions of a program to get all of my information. PIN would give me instruction mixes, and Perf would give me hardware performance on those…
Suedocode
  • 2,504
  • 3
  • 23
  • 41
2
votes
2 answers

Segmentation fault occurs when calling function in the Pin tool

I am currently building a Pin tool which detects uninitialized reads from Linux application, based on this blog post. You can also see the author's code from the blog. Since this one is for Windows, I tried to create a Linux-compatible one. But…
LocustSpectre
  • 87
  • 2
  • 8
2
votes
1 answer

Pin Binary instrumentation: How to precisely identify a function name.

Anyone who's used PIN? How would you identify a function exactly (in presence of method overloading)? I can see PIN provides RTN_Name() function, which would return the function name, but surely that's no enough… so what else would you use? Would…
Faheem
  • 1,423
  • 2
  • 13
  • 22
2
votes
1 answer

Object code relocation and Intel Pin interaction

I am working on a multiprocessor architectural simulator that uses Intel Pin to instrument C++ executable binaries and report interesting events (e.g., some function calls, thread create/finish, etc.). Basically, I build an instruction-decode cache…
Ahmed Nassar
  • 4,683
  • 2
  • 19
  • 26
1
vote
0 answers

Intel PIN misses RTN_InsertCall at certain positions (instrumenting malloc function)

I was testing the malloctrace example shown on the official Intel PIN website: https://software.intel.com/sites/landingpage/pintool/docs/98484/Pin/html/index.html#FunctionArguments I have a very simple testing binary file with the source code…
Jay
  • 373
  • 1
  • 10
1
vote
0 answers

Intel Pin inscount0 reports different count vs Linux perf

I have a program where I'm trying to trace (instruction trace) with Intel's Pin program (v3.25). The commands I'm running: pin -t obj-intel64/inscount0.so -- perf stat --event=instructions:{k,u} -- However, the reported…
jkang
  • 483
  • 7
  • 19
1
vote
1 answer

Intel Pin cannot detect memcmp or strcmp

I am trying to write a pintool that analyzes the return values of memcmp and strcmp in applications. First I wrote a routine trace pintool that lists all of the routines that are executed. My sample code is very simple and just uses memcmp to…
Lught
  • 134
  • 6
1
vote
0 answers

Does Intel PIN support tracing only JIT code in .NET executables?

I'm trying to trace .NET application with the latest Intel PIN Tool (3.19), but it doesn't work as expected. It seems pin tool doesn't even load the profiling library (checked loaded modules). I was looking for strings "INTEL_JIT_PROFILER32" inside…
DBenson
  • 377
  • 3
  • 12
1
vote
0 answers

Instrument memory access of python scripts

My research requires processing memory traces of applications. For C/C++ programs, this is easy using Intel's PIN library. However, as suggested here Use Intel Pin to instrument Python scripts, I may need to instrument the Python runtime itself,…