英特尔针脚与码头

时间:2016-09-22 10:15:46

标签: docker intel-pin

我有一个使用此命令正常运行的pintool:

../../../pin -injection child -t obj-intel64/mypintool.so -- obj-intel64/myexcecutable

我想在myexcecutable的位置放置一个使用此命令运行的docker program

docker run --rm --net spark-net --volumes-from data \
             cloudsuite/graph-analytics \
             --driver-memory 1g --executor-memory 4g \
             --master spark://spark-master:7077

当我尝试用docker命令简单地替换-- obj-intel64/myexecutable时,pintool正常启动,但它没有正常完成。

我相信我的pintool会附加到docker而不是我所定位的包含应用程序中。

我是否必须采用不同的方法才能在Docker容器中运行的程序中正确附加我的pintool?

1 个答案:

答案 0 :(得分:1)

我不是码头专家,但是以这种方式运行它确实会使pin仪器成为docker exec。您需要将pin放在docker实例中并在piner下的docker实例中运行可执行文件。也就是说,命令行应该如下所示:

 docker -run <docker arguments> pin <pin arguments>  --myexecutable <executable arguments>