vscode断点调试unity xlua

安装luaide插件

如图在vscode中,安装luaide插件(该插件为收费软件,具体可看插件介绍)


安装插件.png

登录账号

luaide 将会在打开lua文件时启动,并会检查是否存在luaide账号,如果不存在将弹出注册提示!


登录账号.png

配置启动文件

打开xlua工程,点击debug配置启动文件launch.json,选择环境为LuaDebug。如图所示

选择环境.png

会自动在工程的根目录下创建.vscode/launch.json文件,将运行选择为Unity-xlua,如图所示

配置launch文件1.png
配置launch文件2.png

添加调试代码

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

下面是以xlua官方02_U3DScripting为例

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

local speed = 10
local lightCpnt = nil

function start()
    print("lua start...")
    print("injected object", lightObject)
    lightCpnt= lightObject:GetComponent(typeof(CS.UnityEngine.Light))
end

function update()
    local r = CS.UnityEngine.Vector3.up * CS.UnityEngine.Time.deltaTime * speed
    self.transform:Rotate(r)
    lightCpnt.color = CS.UnityEngine.Color(CS.UnityEngine.Mathf.Sin(CS.UnityEngine.Time.time) / 2 + 0.5, 0, 0, 1)
end

function ondestroy()
    print("lua destroy")
end

拷贝调试文件

调试文件.png

如图打开调试文件所在文件夹,将LuaDebug.lua文件拷贝到工程中(必须是可以被加载的lua路径,如Resources文件夹),并改为LuaDebug.lua.txt

启动断点调试

打断点,其他运行,开启unity,即可。

断点调试.png

更多功能

除此之外,luaide还具有代码提示,设置模版,查看userdata,支持cocos,slua,ulua,tolua等功能,更多详情介绍,可参考官方文档https://www.showdoc.com.cn/luaide?page_id=687553326343048

你可能感兴趣的:(vscode断点调试unity xlua)