Mac下VSCode调试skynet的lua环境配置

news/2025/2/25 12:07:49
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="markdown_views prism-atom-one-dark"> cap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">

class="toc">

Mac下VSCode调试skynet的lua环境配置

      • 安装Lua5.4
      • 安装Luasocket
      • 下载LuaPanda.lua
      • 安装VScode LuaPanda插件
      • 配置skynet࿰c;在lua_cpath引入luasocket库
      • 创建launch.json
      • 在需要调试的lua文件里面添加代码

安装Lua5.4

<code>brew install lua@5.4
code>

cket_8">安装Luasocket

LuaPanda需要luasocket这个第三方库࿰c;我们使用Luarocks来安装࿰c;Luarocks是Lua的包管理器࿰c;就像npm一样࿰c;它可以帮助我们下载、查找、删除Lua包

首先安装Luarocks, 到http://luarocks.org/releases/下载源码࿰c;我下载的是最新的3.11.1版本
https://luarocks.github.io/luarocks/releases/luarocks-3.11.1.tar.gz

<code>tar -zxvf luarocks-3.11.1.tar.gz
cd luarocks-3.11.1
./configure && make && sudo make install
sudo luarocks install luasocket
code>

lua_20">下载LuaPanda.lua

https://github.com/Tencent/LuaPanda/tree/master/Debugger里面的LuaPanda.lua下载下来放到skynet/lualib目录下
这个文件是用来连接调试服务器的。

code_LuaPanda_24">安装VScode LuaPanda插件

这个插件会开启调试服务器࿰c;并能下断点进行单步调试

lua_cpathluasocket_27">配置skynet࿰c;在lua_cpath引入luasocket库

<code>root = "./"
lua_cpath = root.."luaclib/?.so;".."/usr/local/lib/lua/5.4/?.so;"
code>

chjson_33">创建launch.json

<code>{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息࿰c;请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [

        {
            "type": "lua",
            "request": "launch",
            "tag": "normal",
            "name": "LuaPanda",
            "description": "通用模式,通常调试项目请选择此模式 | launchVer:3.2.0",
            "cwd": "${workspaceFolder}/game",
            "luaFileExtension": "",
            "connectionPort": 8818,
            "stopOnEntry": true,
            "useCHook": false,
            "autoPathMode": true
        },
    ]
}
code>

useCHook必须要false, 如果为true会有段错误࿰c;不知道为何。

lua_61">在需要调试的lua文件里面添加代码

<code>require("LuaPanda").start("127.0.0.1", 8818)
code>

这段代码会连接VSCode调试服务端。

所有配置已经完成࿰c;我们来尝试调试一下࿰c;在你的lua文件中添加断点。 注意:必须要在require(“LuaPanda”).start(“127.0.0.1”, 8818)执行后 的断点才起作用。

按F5启动VScode调试服务端࿰c;

然后运行skynet

<code>skynet game/config
code>

是不是你的断点断下来了?

skynet.fork出来的方法是没办法下断的࿰c;目前还没有摸索出方法࿰c;有知道的朋友请告知一下。

参考:
https://blog.csdn.net/qq_41252394/article/details/124576105


http://www.niftyadmin.cn/n/5865479.html

相关文章

IO进程 day05

IO进程 day05 9. 进程9. 9. 守护进程守护进程的特点守护进程创建步骤 10. 线程10.1. 线程的概念10.2. 进程和线程的区别10.2. 线程资源10.3. 线程的函数接口1. pthread_create-创建线程线程函数和普通函数的区别 2. pthread_exit3.线程资源回收函数join和detach的区别 获取线程…

Flink API 解析 Flink Job 依赖的checkpoint 路径

引言 之前写一篇 Python 脚本解析 Flink _metadata 中依赖的 checkpoint 路径文章 Python解析 Flink Job 依赖的checkpoint 路径 &#xff0c;代码比较暴力&#xff0c;直接按照 checkpoint 路径前缀判断&#xff0c;最近发现网上有通过 Flink API 解析 Flink Checkpoint 元数…

【JavaEE进阶】Spring Boot配置文件

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗 如有错误&#xff0c;欢迎指出~ 目录 SpringBoot配置⽂件 举例: 通过配置文件修改端口号 配置⽂件的格式 properties基本语法 读取配置⽂件 properties配置文件的缺点 yml配置⽂件 yml基本语法 yml和proper…

【搭建SigNoz性能监控平台】在Ubuntu上快速搭建高效的SigNoz性能监控平台与远程使用技巧

文章目录 前言1.关于SigNoz2.本地部署SigNoz3.SigNoz简单使用4. 安装内网穿透5.配置SigNoz公网地址6. 配置固定公网地址 前言 本文介绍如何在Ubuntu系统上使用 Docker 快速部署一款强大的应用性能监控工具SigNoz&#xff0c;并结合cpolar内网穿透工具轻松实现异地远程使用。 …

插入排序:一种简单而直观的排序算法

大家好&#xff01;今天我们来聊聊一个简单却非常经典的排序算法——插入排序&#xff08;Insertion Sort&#xff09;。在所有的排序算法中&#xff0c;插入排序是最直观的一个。 一、插入排序的基本思想 插入排序的核心思想是&#xff1a;将一个待排序的元素&#xff0c;插…

独立开发者Product Hunt打榜教程

Product Hunt 是创业者和开发者展示新产品的地方&#xff0c;对于独立开发者来说&#xff0c;打榜不仅仅是展示产品的良机&#xff0c;更是提高品牌知名度和获取早期用户的重要途径。以下是独立开发者如何在Product Hunt上打榜的详细教程&#xff1a; 1. 产品准备阶段 确保产…

conda 基本命令

1、查询当前所有的环境 conda env list 2、创建虚拟环境 conda create -n 环境名 [pythonpython版本号] 其中[pythonpython版本号]可以不写 conda create -n test python3.12 我们输入conda env list看到我们的环境创建成功了&#xff0c;但是发现他是创建在我们默认的C盘的…

基础知识3

文章目录 MySQL的执行引擎有哪些&#xff1f;1. **InnoDB**2. **MyISAM**3. **Memory**4. **Archive**5. **CSV**6. **Blackhole**7. **Federated**8. **NDB Cluster**9. **其他存储引擎**总结 MySQL为什么使用B树来作索引1. **InnoDB**2. **MyISAM**3. **Memory**4. **Archive…