我有一个可以正常使用此命令运行的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上,而不是包含在作为目标的应用程序中。
为了将我的pintool正确附加到在docker容器中运行的程序中,我是否必须采取其他方法?
最佳答案
我不是Docker专家,但以这种方式运行确实可以使pin工具成为docker exec。您需要将pin放置在docker实例中,并在docker实例中的pin下运行可执行文件。也就是说,命令行应如下所示:
docker -run <docker arguments> pin <pin arguments> --myexecutable <executable arguments>
关于docker - docker 的英特尔销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39636337/