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;

}

相关推荐
天马行空-3 分钟前
ES 精准匹配 和 模糊查询的实现方式
java·开发语言
Z***258011 分钟前
Java计算机视觉
java·开发语言·计算机视觉
Tiger_shl19 分钟前
SqlConnection、SqlCommand 和 SqlDataAdapter
开发语言·数据库·c#
一点事20 分钟前
ruoyi:集成mybatisplus实现mybatis增强
java·开发语言·mybatis
你的冰西瓜25 分钟前
C++14 新特性详解:相较于 C++11 的主要改进
开发语言·c++·stl
linksinke27 分钟前
Mapstruct引发的 Caused by: java.lang.NumberFormatException: For input string: ““
java·开发语言·exception·mapstruct·numberformat·不能为空
无限进步_33 分钟前
C语言单向链表实现详解:从基础操作到完整测试
c语言·开发语言·数据结构·c++·算法·链表·visual studio
好好研究1 小时前
SpringMVC框架 - 异常处理
java·开发语言·spring·mvc
songroom1 小时前
Rust: 量化策略回测与简易线程池构建(MPMC)
开发语言·后端·rust
摇滚侠1 小时前
Vue 项目实战《尚医通》,完成确定挂号业务,笔记46
java·开发语言·javascript·vue.js·笔记