2

以下工作正常,我从我的 ubuntu 14.04 系统上的 'ls' 程序中获取了 edgecnt ..

$ ../../../pin.sh -t obj-intel64/edgcnt.so -- /bin/ls

但是在我的节点应用程序上使用它时,我收到了权限被拒绝错误:

$ ../../../pin.sh -t obj-intel64/edgcnt.so -- /home/samira/Documents/benchmarks/lets-chat/
/home/samira/Documents/benchmarks/lets-chat/ : Permission denied

我在网上搜索了所有关于此的内容,但没有找到任何解决方案。我尝试以 root 身份运行节点应用程序和 pin 工具,但它没有解决问题。还使用pid运行:

s# ../../../pin -pid 14191 -t obj-intel64/edgcnt.so -o myout.log
E: Could not attach to process 14191: need execute and read access to /proc/14191/exe

我试图更改 /proc/ 文件夹的权限,但即使是 root 也不允许该操作。

任何想法?

4

1 回答 1

1

在您的节点应用程序上使用 pin 时,获得许可被拒绝,您是否更改了用户组?

作为 root,"root@server:~# echo 0 > /proc/sys/kernel/yama/ptrace_scope" 可能会对您的问题有所帮助。

“s# ../../../pin -pid 14191 -t obj-intel64/edgcnt.so -o myout.log E: 无法附加到进程 14191: 需要执行和读取 /proc/14191/ exe" 我认为这意味着您要跟踪的 pid 不存在。

于 2016-11-11T17:45:09.220 回答