LUA 调用c#关于c#报错时lua调用堆栈的监听

static string GetLuaStackTrace(IntPtr L)

{

// 将 'debug' 表压入栈顶

xlua_getglobal(L, "debug");

// 获取 'debug.traceback' 函数

lua_pushstring(L, "traceback");

xlua_pgettable(L, -2);

// 移除 'debug' 表,现在 'traceback' 函数位于栈顶

lua_remove(L, -2);

// 将两个参数压入栈顶(第一个参数 message,第二个参数 level)

lua_pushstring(L, "");

lua_pushnumber(L, 2); // 注意这里我们使用 lua_pushnumber 来推送整数

// 调用 traceback 函数,期望 1 个返回值

lua_pcall(L, 2, 1, 0);

// 把返回的堆栈跟踪信息转换为 C# 字符串

string trace = lua_tostring(L, -1);

// 弹出栈顶的堆栈跟踪信息

lua_pop(L, 1);

复制代码
 // 返回堆栈跟踪信息
 return trace;

}

相关推荐
曹轲恒6 小时前
Java中断
java·开发语言
施棠海7 小时前
监听与回调的三个demo
java·开发语言
時肆4857 小时前
C语言造轮子大赛:从零构建核心组件
c语言·开发语言
王维志7 小时前
使用C#控制台批量删除 Unity目录里的 .meta文件
unity·c#·.net
赴前尘8 小时前
golang 查看指定版本库所依赖库的版本
开发语言·后端·golang
de之梦-御风8 小时前
【C#.Net】C#开发的未来前景
开发语言·c#·.net
知乎的哥廷根数学学派8 小时前
基于数据驱动的自适应正交小波基优化算法(Python)
开发语言·网络·人工智能·pytorch·python·深度学习·算法
de之梦-御风8 小时前
【C#.Net】C#在工业领域的具体应用场景
开发语言·c#·.net
sunfove8 小时前
将 Python 仿真工具部署并嵌入个人博客
开发语言·数据库·python
Learner8 小时前
Python类
开发语言·python