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;

}

相关推荐
FL16238631292 小时前
[C#][winform]基于yolov8的水表读数检测与识别系统C#源码+onnx模型+评估指标曲线+精美GUI界面
开发语言·yolo·c#
cnxy1884 小时前
围棋对弈Python程序开发完整指南:步骤1 - 棋盘基础框架搭建
开发语言·python
I小码哥5 小时前
无法使用lua.exe
lua
程序员-周李斌6 小时前
Java 死锁
java·开发语言·后端
JasmineWr7 小时前
CompletableFuture相关问题
java·开发语言
零雲7 小时前
java面试:知道java的反射机制吗
java·开发语言·面试
Jeremy爱编码7 小时前
实现 Trie (前缀树)
开发语言·c#
烛阴7 小时前
C# 正则表达式(4):分支与回溯引用
前端·正则表达式·c#
laocooon5238578867 小时前
插入法排序 python
开发语言·python·算法
你的冰西瓜7 小时前
C++中的list容器详解
开发语言·c++·stl·list