docker - docker 的英特尔销

标签 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上,而不是包含在作为目标的应用程序中。

为了将我的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/

相关文章:

jenkins - Docker:如何将容器及其数据克隆到一个新容器中

node.js - 为什么docker-compose env_file不起作用,而环境却起作用?

intel-pin - 英特尔引脚 : getting instruction memory write\read size

elf - 节地址超出图像区域 - Intel Pin

docker - 使用在WSL 2中运行的Webpack-dev-server访问LAN上的localhost

python - Docker容器运行失败,错误: python3: can't open file 'flask run --host=0.0.0.0' : [Errno 2] No such file or directory

ubuntu - 无法在 Ubuntu 中启动 Docker

linux - 如何从 Linux 上的 Intel Pin 获取地址空间布局?

c++ - Windows 中无法解析的外部符号

linux - 在为 gdb 打开套接字之前 Pin 进程崩溃