一、前置条件
下载并解压pin:Pin - A Binary Instrumentation Tool - Downloads (intel.com)
windows系统下还需要下载cygwin环境。
pin压缩包中的readme文件中有一例代码:
../../../pin -t obj-intel64/inscount0.so -o inscount0.log -- /bin/ls
“../../../pin”是定位bin可执行文件;“obj-intel64/inscount0.so”相当于你希望对文件做什么操作;“/bin/ls”是你操作的文件。
二、下载pinfi
按pinfi的readme文件进行操作,pinfi下载地址。
按照readme文件的操作,在输入make指令后,可能会出现“XXX not declare”的错误,可以打开报错的cpp文件,加入“using namespace std;”。特别注意“Tokenize”这个报错,本人遇到这个错误时是重新下载了一个版本更旧的pin。
三、操作
修改pinfi自带的example文件下的faultinject.py文件,以适应你的电脑环境。在pinfi自带的example文件下启用终端,键入“Python faultinject.py N”。N表示故障注入的次数,如果无该参数,会报错“AssertionError”。
后面的路继续慢慢摸索。
四、参考
Intel PinTools 安装使用教程_猫科龙的博客-CSDN博客_pintool 安装
ubuntu上安装Pin3.14_kobetjt的博客-CSDN博客
Intel Pin基本用法 - BrieflyX's Base