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;

}

相关推荐
AI行业学习8 小时前
CC-Switch 下载、安装与使用配置指南【2026.5.29】
java·开发语言·vscode·python·eclipse·laravel
许彰午8 小时前
03_Java流程控制详解
java·开发语言·python
SoftLipaRZC8 小时前
C语言内存函数完全指南:memcpy/memmove/memset/memcmp
c语言·开发语言
2201_761199048 小时前
python运维1
运维·开发语言·python
Cx330❀8 小时前
【Qt 核心机制篇】深度解析 Qt 信号与槽(Signals & Slots)机制:从底层原理、实战演练到 Lambda 进阶
linux·开发语言·c++·人工智能·qt·ubuntu
z落落8 小时前
C# ArrayList 动态集合(接口/区别/API/深浅拷贝)+ List<T> 泛型集合
开发语言·c#
Cx330❀8 小时前
【Linux网络】从零构建高性能UDP服务器:从Echo到英译汉业务级实现
大数据·linux·服务器·开发语言·网络·c++·udp
basketball6168 小时前
Golang:基础语法总结
开发语言·后端·golang
兰令水9 小时前
leecodecode【双指针题2】【2026.5.26打卡-java版本】
java·开发语言·算法