如何诊断涉及LuaJIT的应用程序崩溃

时间:2014-11-01 02:38:04

标签: c lua luajit

我正在尝试从一些未存储在文件系统中的文本中加载一大块Lua。我在package.loaders添加了一个元素来从C执行此操作。只要我在C中调用lua_load来加载/执行块,应用程序就会中止,崩溃,不会引发任何异常。该应用程序已经消失。

这是一个非常大的问题。现在我正在尝试调试这个问题,但如果在生产中发生这种情况会发生什么呢?我肯定错过了什么。如果没有LuaJIT中止应用程序,我们如何编写质量,生产代码?我错过了什么。我错过了什么?

A related SO article建议使用常规Lua运行该应用。我做到了,它工作得很好。所以LuaJIT中的某些东西不喜欢我的代码。我找不到了。

我可能会问两个问题:

  • 如何立即查找此特定代码的具体问题。在常规Lua中工作,在LuaJIT中失败。

  • 我们如何使用LuaJIT,以便当它遇到不喜欢的东西时,它不会完全中止整个过程?

LuaJIT中的崩溃位于lua_call(L, 1, 1); /* run loaded module */的lib_package.c中,大约为line 431

0 个答案:

没有答案