luaL_newstate在valgrind下没有成功?

时间:2015-11-24 22:43:19

标签: lua valgrind luajit

我正在尝试使用64位Linux下基于luajit的应用程序调试一些问题。

脚本通过FFI回调到许多库,我试图找出一些内存损坏问题。 Valgrind通常是我选择的工具,但是我发现在Valgrind下运行时luaL_newstate失败了。

经过一番探索,我发现标准的luajit也无法加载。我认为这可能比valgrind更像是一个问题而不是luajit。有没有办法给valgrind更多的记忆?

1 个答案:

答案 0 :(得分:3)

如果您使用的是从版本3.9.0开始的版本的valgrind,并且最多(但不包括)版本3.11.0可能是问题。

这些版本似乎已被打破"在x86_64上使用luajit。

请参阅Mike Pall的this email

  

[请注意,Valgrind 3.9.0已选择阻止MAP_32BIT,其中   在Linux / x64上打破LuaJIT:

     

https://bugs.kde.org/show_bug.cgi?id=324181

     

旧版本的Valgrind仍然有效。它不是那么有用   无论如何,在x64上调试LuaJIT,由于强制使用了   内置分配器。但这些都与你的问题无关。]