vscode调试unity-tolua

1.在VSCode的插件商店里搜索luaide安装该插件:

其中上面的第一个是收费版的,费用五块钱一个月蛮便宜的,喜欢VSCode做生产工具推荐还是用这个。虽然下面介绍的是免费的luaide-lite的配置,但luaide的配置几乎也差不多。

LuaDebugjit.lua下载地址:链接:https://pan.baidu.com/s/1zRyaMLX9jAMFzVqdjpdmCw 
提取码:9ih3 

2.把LuaDebugjit.lua放到脚本目录里,和作为程序入口的lua文件同级(一般是工程Lua文件根目录下的Main.lua 如:./xxxx/Lua/Main.lua)。这是用作调试的主文件。

3.在Main.lua中加入下面语句,用于调用LuaDebug:
local BREAKINFOFUNC, XPCALLFUNC = require("LuaDebugjit")("localhost", 7003)
coroutine.start( function() while true do coroutine.wait(0.1) BREAKINFOFUNC() end end)
(第一个参数是调试设备的地址,本地调试所以填的localhost;第二个端口参数用默认的7003就好了)

4. 确保LuaSocket开启。该项在LuaWraps下的LuaConst.cs文件里:

5.在LuaManager.cs 并添加如下代码

#region luaide 调试库添加
//如果项目中没有luasocket 请打开
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int LuaOpen_Socket_Core(System.IntPtr L)
{
    return LuaDLL.luaopen_socket_core(L);
}

protected void OpenLuaSocket()
{
    LuaConst.openLuaSocket = true;
    lua.BeginPreLoad();
    lua.RegFunction("socket.core", LuaOpen_Socket_Core);
    lua.EndPreLoad();
}
#endregion

6.并在上面文件OpenLibs 方法中调用 OpenLuaSocket() 

/// <summary>
/// 初始化加载第三方库
/// </summary>
void OpenLibs() {
    lua.OpenLibs(LuaDLL.luaopen_pb);      
    lua.OpenLibs(LuaDLL.luaopen_sproto_core);
    lua.OpenLibs(LuaDLL.luaopen_protobuf_c);
    lua.OpenLibs(LuaDLL.luaopen_lpeg);
    lua.OpenLibs(LuaDLL.luaopen_bit);


    //luaide socket 开启
    lua.OpenLibs(LuaDLL.luaopen_socket_core); 
    this.OpenLuaSocket();  


    this.OpenCJson();
}


7. 生成调试配置:

8.选择Unity-Remote(Lua):

9.先运行VSCode上的调试再在Unity启动游戏。

### 配置 VSCode 进行 Unity 调试 #### 安装必要的扩展 为了能够在 Visual Studio Code (VSCode) 中顺利调试 Unity 项目,需先安装一些必备的工具和插件。确保已安装适用于 Unity 的 C# 扩展以及 Debugger for Unity 插件[^1]。 #### 设置开发环境 当遇到 .NET 加载错误时,这可能是由于缺少适当版本的 .NET SDK 导致的。此时应当前往微软官方网站下载并安装对应版本的 .NET SDK,并在完成后重新启动计算机以使更改生效[^3]。 #### 创建 launch.json 文件 要在 VSCode 内部实现对 Unity 工程的有效调试,还需要创建或编辑 `.vscode/launch.json` 文件来定义具体的调试配置项。下面是一个基本的例子: ```json { "version": "0.2.0", "configurations": [ { "name": "Attach to Unity Editor", "type": "coreclr", "request": "attach", "processId": "${command:unity.attach}", "pipeTransport": { "pipeProgram": "/path/to/mono", "pipeArgs": ["sdb"], "debuggerPath": "/path/to/OpenDebugAD7.dll" } } ] } ``` 请注意路径 `/path/to/mono` 和 `/path/to/OpenDebugAD7.dll` 应替换为实际存在的 Mono 可执行文件位置及 OpenDebugAD7 动态链接库的位置。 #### 开始调试过程 完成上述准备工作之后,在 Unity 编辑器中双击任意一个 C# 脚本文件使其在 VSCode 中打开。接着可以在代码中的合适位置设置断点并通过点击 Unity 编辑器顶部菜单栏上的播放按钮运行场景进入调试模式。如果一切正常的话,程序会在到达设定好的断点处暂停等待进一步操作。 对于希望同时处理 Lua 脚本的情况,则应选用专门针对该语言设计的调试工具如 EmmyLua New Debug,不过需要注意的是两者不可在同一会话中共存使用[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值