valgrind:mmap(0x600000,8192)在UME中失败,错误12(无法分配内存)

我关注
this exercise.此页面包含安装Valgrind 3.6.1的说明,但我当前的Linux内核版本不支持此版本的Valgrind.所以,我安装了Valgrind 3.11.0并按照之后的说明运行此命令:

  $valgrind ./ex4

得到了这个错误:

valgrind: mmap(0x600000, 8192) failed in UME with error 12 (Cannot allocate memory).

怎么办我修好了?

我正在使用内核版本为4.4.0的Ubuntu 14.04 LTS

最佳答案 您遇到的错误实际上是一个内核错误,已在后续版本中修复.更多细节在这里:

https://bugzilla.redhat.com/show_bug.cgi?id=1301093

为了克服这个错误,我建议你更新内核.
注意:我自己在内核版本3.16.0-67上运行Ubuntu 14.04并且运行没有任何麻烦.

编辑:正如OP在评论中所指出的,该错误已在内核版本4.5.2中修复.

点赞