Ubuntu 使用嵌入式LuaJIT的应用程序使用Valgrind失败

Ubuntu 使用嵌入式LuaJIT的应用程序使用Valgrind失败,ubuntu,lua,cmake,valgrind,luajit,Ubuntu,Lua,Cmake,Valgrind,Luajit,我在尝试实例化LuaJIT的Lua状态时遇到了一些问题: lua_State* L = luaL_newstate(); 当正常运行应用程序时,甚至在调试时,我都没有任何问题。它运行得很好。但是当我使用Valgrind Memory Analysis运行同一个应用程序时,L将始终返回一个稳定的nullptr,然后应用程序将崩溃 我在谷歌上搜索了很多关于它的信息。我有一些线索表明LuaJIT并没有使用系统的malloc,并且由于一些相关的原因,它无法在Valgrind下分配内存 我的环境是Lin

我在尝试实例化LuaJIT的Lua状态时遇到了一些问题:

lua_State* L = luaL_newstate();
当正常运行应用程序时,甚至在调试时,我都没有任何问题。它运行得很好。但是当我使用Valgrind Memory Analysis运行同一个应用程序时,
L
将始终返回一个稳定的
nullptr
,然后应用程序将崩溃

我在谷歌上搜索了很多关于它的信息。我有一些线索表明LuaJIT并没有使用系统的malloc,并且由于一些相关的原因,它无法在Valgrind下分配内存


我的环境是Linux x64(Ubuntu 14.04)、GCC 4.8.2、LuaJIT 5.1和CMake 3.0。

您是否使用defined构建?您是指我的应用程序还是库本身?我认为问题不再是LuaJIT特有的。我已经移除了LuaJIT,并尝试使用普通LUA。同样的问题…我试着用LuaJIT_USE_VALGRIND编译LuaJIT。同样的问题。如果在运行应用程序之前导出MALLOC\u CHECK\u2(没有valgrind),该应用程序运行是否正确?因为这听起来像是valgrind(不使用普通分配器)暴露的某种内存损坏/等问题)。您没有使用自定义lua分配器函数,是吗?