找回密码
 立即注册
查看: 240|回复: 0

xLua 调试

[复制链接]
发表于 2021-8-13 12:59 | 显示全部楼层 |阅读模式
准备工作

调试代码下载

生成调试配置

这里很多同学出现过一个问题,就是同时下载了很多的lua 调试插件,所以这里需要注意 如果使用luaide进行lua调试,
需要先禁用或卸载其他的lua调试插件.
步骤:

  • 如果你没有生成过调试配置 那么先生成   

         演示   




         演示   




         演示   



   xlUA  

    如果你已经有调试配置了可修改/删除工作目录下的.vscode/launch.json根据调试需要选择本地或者远程调试即可
attach 远程调试 Unity 调试都为远程调试 不分平台请注意

{    "name": "Unity-xlua",    "type": "lua",    "request": "attach", "runtimeType": "Unity", "localRoot": "${workspaceRoot}", "fileExtname": ".txt", "port": 7003, "printType": 1 }
    name:命名调试器选择项名字type: 默认配置不需要修改request:默认配置不需要修改runtimeType:默认配置不需要修改localRoot: 与本地调试不同,远程调试 localRoot 当做scriptMap 一般情况下默认为 ${workspaceRoot} 即可,如果你的代码目录是 ${workspaceRoot} 下载的某个路径 也可明确指定 如 ${workspaceRoot}/scriptsfileExtname:xlua lua文件默认为 .txt ,如果项目中lua文件后缀不是.lua可修改为具体的后缀来告诉调试器 例如:"fileExtname": ".txt"port: 调试端口 和 调试代码中的端口统一即可 无特殊需求
  • printType: print打印方式
      控制台和系统输出控制台输出系统输出


调试代码添加

说明:
下载对应的LuaDebug 或 LuaDebugjit 后放入脚本目录中
如果默认lua后缀为.txt 将 LuaDebug.lua 修改为LuaDebug.lua 修改为 LuaDebugjit.txt
local breakSocketHandle,debugXpCall = require("LuaDebugjit")("192.168.1.102",7003) local breakSocketHandle,debugXpCall = require("LuaDebugjit")("localhost",7003) 1. IP地址当本机调试时可使用localhost远程调试或移动设备端调试是需要输入调试器所在机器具体的ip 2. port 端口 LuaIde 默认配置中端口为7003 如有需要可执行更改确保调试器配置端口和调用 代码的端口统一即可 3. breakSocketHandle luaIde断点及时刷新函数,需要在定时器中调用 该函数确保断点能够及时的 发送到lua 客户端 4. debugXpCall 程序异常监听函数,用于当程序出现异常时调试器定位错误代码 ulua 中为找到合适的位置添加 可忽略该方法不影响调试,如果有可统一添加的位置可告知一下在启动文件中添加调试代码

local breakSocketHandle,debugXpCall = require("LuaDebugjit")("localhost",7003) --定时器还未找到,找到后添加示例文件:xlua_main.txt

高阶用法(查看userdata 的值) 该功能正在调试阶段 会更加不同的框架做处理从而达到理想的效果

由于采用的是c#语言所以可以利用到反射机制这样可以通过反射获取一些c#类型的值显示在调试器中
      下载 LuaDebugTool.cs
      将LuaDebugTool.txt 重命名为 LuaDebugTool.cs 后加入到 Assets/XLua/Src 目录下 打开LuaDebugTool 将[LuaCallCSharp] 注释的代码取消注释 并 using XLua; 的注释也去掉 如图:





转载于:https://www.cnblogs.com/k0204/p/7189477.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-31 18:59 , Processed in 0.093138 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表