调试 "尝试访问为nil的值"

我有一大段涉及C++,Lua以及两者之间集成的代码。

我调用了一个使用lua_State*工作的C函数,在其中某个地方我收到了一个“attempt to index nil value”的错误。我不想在代码中添加太多的追踪(trace)。

有没有一种方法可以使gdb在这个错误发生时中断呢?

点赞
用户809384
用户809384

深入研究 lua 源码后,我发现“尝试索引空值”的消息来自函数 luaG_typeerror (来自于 ldebug.c)。

因此,断点进入 luaG_typeerror 即可。

2014-06-26 22:27:35