Lua的基本信息调试(一)

本文介绍了在项目中使用 Lua 脚本时如何进行基本信息的调试。通过 luaL_dofile 和 lua_pcall 加入错误处理,显示语法错误信息。在运行时遇到错误,利用 luabind 的异常处理机制捕获并打印错误信息,确保程序不会崩溃。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前段时间在项目中试加入了lua脚本,但由于匆忙很不完善,没有任何的调试信息,包括出错信息的打印,所以很是痛苦!最近终于开始着手完善lua程序,只是从没用过,一切都是从头学起!

首先是载入脚本的时候:luaL_dofile(m_lua, pathname.c_str());

如果是lua脚本的语法等基本错误,这时候luaL_ dofile会返回错误码,但想知道错误信息就必须看堆栈了。

其实查看文档就知道,luaL_dofile分两步:luaL_loadfile以及lua_pcall,因此可以加入如下信息:

    if (luaL_loadfile(m_lua, pathname.c_str()) != 0) {
          std::cout<<"loadfile error[file:"<<pathname.c_str()<<"]: "<<lua_tostring(m_lua, -1)<<endl;
    }
     if (lua_pcall(m_lua, 0, LUA_MULTRET, 0) != 0) {
          std::cout<<"pcall error[file:"<<pathname.c_str()<<"]: "<<lua_tostring(m_lua, -1)<<endl;
     }

这样就是在load的时候把基本的语法错误信息给打印出来。

 

第二,在lua运行中出错,这个就比较麻烦点了,在我们的项目中使用的是luabind。

调用lua函数的接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值