如何解决如何使用 C 使用 LuaJIT 发出自定义堆栈帧?
我想在我的 C 模块中发出额外的堆栈帧,以使回溯和分析器(我使用 jit.profiler
)提供更多信息。
像这样:
char buffer[N];
sprintf(buffer,"%s:%d",__FILE__,__LINE__);
lua_pushexecstackframe(L,buffer);
do_my_module_job();
lua_popexecstackframe(1);
注意我说的是常见的执行堆栈(例如我们在打印错误时看到的),而不是用于 Lua-C 互操作的“Lua 堆栈”
我试图弄清楚 LuaJIT 本身如何为 Lua 代码发出帧。 LuaJIT 源代码有点复杂,无法对我在那里看到的内容做出安全假设,但通过一些建议(示例或/和代码指针),我已准备好使用该主题的内部 API。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。