在 Debian 的 chroot 环境中运行 valgrind?

在 Debian 的 chroot 环境中运行 valgrind?

是否可以在 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.

取自:http://valgrind.org/docs/manual/dist.readme.html

相关内容