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;

}

相关推荐
gf13211112 分钟前
python_检测音频人声片段
开发语言·python·音视频
wangnaisheng7 分钟前
彩虹编码映射实现:C++与C#
c++·c#
waves浪游9 分钟前
进程控制(下)
linux·运维·服务器·开发语言·c++
xiaobuding_QAQ10 分钟前
51汇编仿真proteus8.15学习篇二(附源码)
开发语言·汇编·单片机·学习·proteus
Miketutu13 分钟前
Dart基础学习
开发语言·windows
bybitq16 分钟前
Go中的闭包函数Closure
开发语言·后端·golang
FirstFrost --sy16 分钟前
Qt控件美化:LineEdit与CheckBox实战
开发语言·qt
唐青枫18 分钟前
深入理解 C#.NET record:不可变对象与值语义的现代实践
c#·.net
Yusei_052318 分钟前
Redis核心特性与应用全解析
开发语言·数据库·c++·redis·缓存
长安第一美人8 小时前
C 语言可变参数(...)实战:从 logger_print 到通用日志函数
c语言·开发语言·嵌入式硬件·日志·工业应用开发