是否可以在 Debian 的 chroot 环境中使用 valgrind?它似乎需要访问 proc 文件系统,但毫无疑问,该文件系统无法访问。
root@tree:/# valgrind
valgrind: warning (non-fatal): readlink("/proc/self/exe") failed.
valgrind: continuing, however --trace-children=yes will not work.
--6352:0:aspacem Valgrind: FATAL: can't open /proc/self/maps
--6352:0:aspacem Exiting now.
由于与标准库相关的一些包依赖问题,我无法在主树中安装 valgrind,并且从源代码编译它导致二进制文件无法使用,因此我尝试在干净的 chroot 环境中运行它。
答案1
常见答案:
mount -o bind /proc /path/to/chroot/proc
这将在您的 chroot 环境中为您提供一个 /proc。
答案2
注意 README 中的警告也很有用:
Important! Do not move the valgrind installation into a place
different from that specified by --prefix at build time. This will
cause things to break in subtle ways, mostly when Valgrind handles
fork/exec calls.