valgrind 报告 "Operation not permitted" 但权限似乎没问题
valgrind reports "Operation not permitted" but permissions seem to be ok
我想 运行 valgrind 以这种方式监视名为 contextBroker
的二进制程序:
valgrind -v --leak-check=full --track-origins=yes --trace-children=yes contextBroker
但我收到此错误消息:
valgrind: /usr/bin/contextBroker: Operation not permitted
(碰巧 contextBroker
二进制文件在 /usr/bin/
中)
我首先想到的是权限问题。然而:
我运行以root用户身份执行valgrind命令
/usr/bin/contextBroker
的权限更宽:
ls /usr/bin/contextBroker -l
-rwxr-xr-x 1 root root 7108992 Jun 3 18:15 /usr/bin/contextBroker
其他事实:
contextBroker
二进制文件工作正常,例如如果我 运行 它使用 contextBroker
它有效。
- valgrind 版本为 3.16.0
- 我正在 运行 在 docker 容器中使用 valgrind 命令。主机系统中的相同命令有效(尽管主机中的 valgrind 版本略有不同:3.12.0.SVN)
我如何解决这个问题以及 运行 我的进程中的 valgrind?谢谢!
在 docker run
命令行中使用 --privileged
解决了这个问题。
感谢 Nick ODell 的提示! :)
我想 运行 valgrind 以这种方式监视名为 contextBroker
的二进制程序:
valgrind -v --leak-check=full --track-origins=yes --trace-children=yes contextBroker
但我收到此错误消息:
valgrind: /usr/bin/contextBroker: Operation not permitted
(碰巧 contextBroker
二进制文件在 /usr/bin/
中)
我首先想到的是权限问题。然而:
我运行以root用户身份执行valgrind命令
/usr/bin/contextBroker
的权限更宽:ls /usr/bin/contextBroker -l -rwxr-xr-x 1 root root 7108992 Jun 3 18:15 /usr/bin/contextBroker
其他事实:
contextBroker
二进制文件工作正常,例如如果我 运行 它使用contextBroker
它有效。- valgrind 版本为 3.16.0
- 我正在 运行 在 docker 容器中使用 valgrind 命令。主机系统中的相同命令有效(尽管主机中的 valgrind 版本略有不同:3.12.0.SVN)
我如何解决这个问题以及 运行 我的进程中的 valgrind?谢谢!
在 docker run
命令行中使用 --privileged
解决了这个问题。
感谢 Nick ODell 的提示! :)