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;

}

相关推荐
uoKent几秒前
c++中的封装、继承与多态
开发语言·c++·算法
Mr -老鬼16 分钟前
UpdateEC - EasyClick 项目热更新系统(Rust构建)
开发语言·后端·rust
码农幻想梦18 分钟前
KY221 打印日期
开发语言·模拟
爱上妖精的尾巴21 分钟前
7-13 WPS JS宏 this 用构造函数自定义类-2,调用内部对象必须用this
开发语言·javascript·wps·jsa
wm104323 分钟前
代码随想录第十天 栈和队列
开发语言·python
小熊熊知识库30 分钟前
MinIO文件对象存储使用(C#)
c#
Java后端的Ai之路33 分钟前
【Java教程】- 并发编程核心知识解读
java·开发语言·并发编程
Sheep Shaun39 分钟前
C++11核心特性详解:从右值引用到现代C++编程
开发语言·数据结构·c++·算法
Dontla43 分钟前
Mybatis Introduction (Java ORM Framework)
java·开发语言·mybatis
信码由缰1 小时前
JExten:基于Java模块系统(JPMS)构建健壮的插件架构
java·开发语言·架构