Valgrind 不适用于 WSL?

Valgrind does not work with WSL?

当我为我的计算机安装 WSL 时,我很高兴有一个更原生支持的 Linux 系统,而不是使用 VirtualBox。但是,当我尝试 运行 它时出现此错误。有什么原因吗?

我很乐意根据需要提供更多信息。

--4364:0:aspacem   -1: ANON 0038000000-00383d5fff 4022272 r-x-- SmFixed d=0x000 i=25365   o=0       (0) m=0 /usr/lib/valgrind/memcheck-amd64-linux

--4364:0:aspacem  Valgrind: FATAL: aspacem assertion failed:

--4364:0:aspacem    segment_is_sane

--4364:0:aspacem    at m_aspacemgr/aspacemgr-linux.c:1502 (add_segment)

--4364:0:aspacem  Exiting now.

绝对有可能

我在直接使用 apt 安装时遇到了一些问题,但是可以通过一些非常简单的步骤手动安装它:

  • 下载源文件:wget http://valgrind.org/downloads/valgrind-3.12.0.tar.bz2(当您阅读本文时,可能会有更新的版本)
  • 提取 存档:tar -xvjf valgrind-3.12.0.tar.bz2
  • 配置安装过程:cd进入解压文件夹valgrind-3.12.0然后启动./configure
  • Make:只需在 valgrind-3.12.0 文件夹中启动 make
  • 检查 依赖项:启动 make check 查看是否满足安装所需的所有依赖项(例如:您必须安装 g++,只需启动sudo apt install g++)
  • 安装 valgrind:输入sudo make install安装

我遇到了同样的问题,解决方案是安装 Windows 10 creators update(版本 1703),然后重新安装 Bash/WSL。 Valgrind 现在工作正常:)