Ubuntu 由于$User而导致Valgrind错误

Ubuntu 由于$User而导致Valgrind错误,ubuntu,valgrind,Ubuntu,Valgrind,获得了Windows10的WindowsInsider版本,带有“windows上ubuntu上的bash”。(成为windows内幕人士,了解如何在windows上获得bash的更多信息)安装valgrind后,我很快遇到了一些问题: ... command: ./a.out error 2 No such file or directory cannot create shared_mem file /tmp/vgdb-pipe-shared-mem-vgdb-12-by-???-on-CO

获得了Windows10的WindowsInsider版本,带有“windows上ubuntu上的bash”。(成为windows内幕人士,了解如何在windows上获得bash的更多信息)安装valgrind后,我很快遇到了一些问题:

...
command: ./a.out
error 2 No such file or directory
cannot create shared_mem file /tmp/vgdb-pipe-shared-mem-vgdb-12-by-???-on-COENLAPTOP
我运行:

$ valgrind ./a.out
valgrind的输出:

...
command: ./a.out
error 2 No such file or directory
cannot create shared_mem file /tmp/vgdb-pipe-shared-mem-vgdb-12-by-???-on-COENLAPTOP
做一些研究,我知道这个文件的格式是

/tmp/vgdb-pipe-shared-mem-vgdb-12-by-$USER-on-$HOSTNAME
当我
echo$HOSTNAME
时,我得到
COENLAPTOP
,这是所需的响应。 当我
echo$USER
时,我什么也得不到

很奇怪,好像我不是以用户身份登录的


是否可以将$USER更改为有效字符串?这是ubuntu在windows上的副作用吗?

这似乎是Linux子系统无法运行memcheck的问题,memcheck应该位于
/usr/lib/valgrind/memcheck-amd64-Linux
我敢打赌valgrind使用的低级别内存调用还不受子系统支持。我们应该将它标记为github项目中的一个问题

用户未设置不是问题:valgrind将其替换为???,这应该会起作用。你的问题是别的。可能尝试通过设置TMPDIR或使用--vgdb prefix=。。。arg。