Используете пин-код от Intel в Ubuntu?

Я хотел бы использовать инструмент pin-кода Intel в Ubuntu 12.04 и у меня возникли проблемы с его установкой. Я скачал pin для Linux 64bit отсюда http://www.pintool.org/ , извлек пакет и скомпилировал примеры в source / tools / .. Как мне запустить pin сейчас? Пробовал:

pin
pin.sh
./pin

и т. Д., Похоже, ни одна из них не работала :( Нужно ли устанавливать какие-либо дополнительные библиотеки или ...? Спасибо!

4
задан 19 October 2012 в 05:11

3 ответа

По сути, инструменты булавок спроектированы как компиляторы «Just In Time (JIT)», поэтому двумя компонентами архитектуры являются Code Instrumentation and Analysis. Как вы, возможно, знаете, инструменты ПИН-кода могут независимо обрабатывать архитектуру. Поэтому, поскольку инструментарий происходит непосредственно перед тем, как последовательность кода выполняется в первый раз, вы должны обработать программу напрямую с целевым тестом.

Вот несколько советов:

Прежде всего, перейдите в родительский каталог инструмента Pin, общее использование pin определяется как:

pin [OPTION] [-t <tool> [<toolargs>]] -- <command line>

Во-вторых, экспортируйте путь Привязка к env, чтобы иметь возможность использовать его повсюду (в моем случае это так):

export PATH=$PATH:/home/amir/pin-2.12-58423-gcc.4.4.7-linux/

Теперь вы можете использовать его повсюду для закрепления инструмента (счет компиляции, число переходов и т. д.).

Т.е. : Есть несколько примеров источников для начала работы в

$ cd source/tools/ManualExamples

, таких как inscount, linux_buffer и т. Д. Используйте команду make для g ++ компиляции исходных кодов:

make inscount0.test

и затем:

$ pin -t inscount0.so -- /bin/ls

чтобы получить вывод /bin/ls.

Надеюсь, это поможет вам.

0
ответ дан 19 October 2012 в 05:11

ПИН-код Intel представляет собой бинарный инструментарий, и его можно использовать для управления бинарными программами на лету. Чтобы указать, какие именно инструкции должны быть инструментированы, а с какими вы указываете pintool для закрепления. Больше нет никакой «установки».

Вот пример из файла README о том, как использовать pin:

pin -t obj-intel64 / opcodemix.so - / bin / ls

Это будет инструмент и работать / bin / ls, вывод для этого инструмента находится в opcodemix.out.

0
ответ дан 19 October 2012 в 05:11

Является 64-разрядной Ваша архитектура хоста (amd64)? Если так, необходимо будет добавить 32-разрядный (i386) поддержка, поскольку контакт является 32-разрядной программой.

$ file pin
pin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.2.5, stripped

Сначала добавьте поддержку архитектуры dpkg.

$ sudo dpkg --add-architecture i386
$ sudo aptitude update   # or apt-get if you use that

Затем установите i386 версии необходимых библиотек. Вам, вероятно, будет нужно:

  • libc6:i386
  • libstdc++6:i386
  • libgcc1:i386
  • libelf1:i386
  • libdw1:i386.

Проверьте Руководство пользователя Контакта на сайте Intel, конкретно раздел Libraries for Linux. С другой стороны, Вы могли вращать i386 Ubuntu VM и использование это, не имея необходимость загрязнять Ваше x64 пространство библиотеки.

0
ответ дан 19 October 2012 в 05:11

Другие вопросы по тегам:

Похожие вопросы: