unity3d:vscode+luaide断点调试xlua

  • Post author:
  • Post category:其他




准备工作:

1.下载vscode

2.下载luaide

免费版:https://www.jianshu.com/p/a2142d4f119c,下载后将zip文件解压到 C:\Users\Administrator.vscode\extensions

但是:

这里写图片描述



调试luaide的示例工程

1.https://www.jianshu.com/p/dda945be6bc2

示例工程中的LuaDebug.lua.txt过时,去下新的:https://www.jianshu.com/p/84fac5c7b940

这里写图片描述

下载好后原位置替换

2.将assets 文件夹拖入到vscode

3.如果使用luaide进行lua调试,需要先禁用或卸载其他的lua调试插件.

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

这里写图片描述

这里写图片描述

这里写图片描述

4.选择xlua调试

这里写图片描述

5.在vscode中找到LuaTestScript.lua.txt,下个断点,然后启动调试

6.unity 中打开02_U3DScripting文件夹下场景运行,可以看到vscode中命中断点

这里写图片描述



调试自己的xLua工程

1.把LuaDebug.lua.txt放入到工程的Resources目录下

2.将assets 文件夹拖入到vscode

说明:因为是.lua.txt文件,所以在vscode如果没出现代码高亮,或者不能下断点情况,新增vscode的工作区设置

这里写图片描述

{
    "files.associations": {
        "*.txt": "lua"
    },
    "luaide.apiType": "xlua"
}

把.lua.txt文件识别为.lua文件,即出现代码高亮并且可以调试了

3.模仿示例工程,将LuaBehaviour.cs的52行改为

luaEnv.DoString(luaScript.text, "LuaTestScript.lua", scriptEnv);

luaEnv.DoString(luaScript.text, “LuaTestScript.lua”, scriptEnv);

doString 方法的第二个参数为调试的文件名 因为Dostring 加载 需要将chunkName 告诉lua 这样才能在调试时获取到调试内容的路径

4.vscode中LuaTestScript.lua.txt 头部新增

local breakSocketHandle,debugXpCall = require("LuaDebug")("localhost",7003)

这样运行时,此lua脚本就会去unity工程中Resources文件中查找第一步的LuaDebug.lua.txt,启动本地调试

5.在vscode中下断点运行,再运行unity,可以看到成功命中断点



版权声明:本文为luoyikun原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。