【金X】关于断点调试Lua二三事

金X简介

金庸群侠传X是由汉家松鼠工作室制作的一款半即时半回合制战棋单机游戏,于2013年发行。
游戏剧情由金庸笔下的十五部小说改编及创造,有0.1~0.7,1.0八个正式版本,并且有web版、安卓版、ios版、mod编辑器版。目前最新版本为金庸群侠传X1.1.0.6。
很遗憾的是,游戏因为设计侵权而终止了开发,永远的暂停在了1.1.0.6版本。

前言

本人一直很喜欢这款游戏,也做过一些开发工作。最近在Mod交流群里看到断点操作,说实话,本人不会,但是询问的时候却石沉大海。所以最终只能自己探索如何利用EmmyLua插件进行断点操作,经过了一下午的实验,终于成功了,但貌似和群里的实现方法不同? 我希望大家都能打破技术壁垒,互相交流。
当然,本人这么做的原因之一其实是不想承认自己比他们差,也算是攀比吧,但不得不承认,也许我的确愚笨了一些。但是我相信,勤能补拙,所以下面直接开始教程吧。

软件准备

  1. VS Code

    Microsoft在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。
    该编辑器支持多种语言和文件格式的编写,截止2019年9月,已经支持了如下37种语言或文件:F#、HandleBars、Markdown、Python、Java、PHP、Haxe、Ruby、Sass、Rust、PowerShell、Groovy、R、Makefile、HTML、JSON、TypeScript、Batch、Visual Basic、Swift、Less、SQL、XML、Lua、Go、C++、Ini、Razor、Clojure、C#、Objective-C、CSS、JavaScript、Perl、Coffee Script、Java、Dockerfile。

  2. EmmyLua插件

    国人弄的基于IntelliJ IDE 弄得插件 EmmyLua,现在也已经支持VsCode了。本教程使用EmmyLua进行lua调试。

文件配置

关于如何安装VS Code此处不再赘述,EmmyLua插件请直接在VsCode的拓展管理里下载就可以了。
EmmyLua
这边我们先启动我们的金X程序(当然原理是一样的,你调试其他程序也是一样的),先不要加载自己的Mod,停留在下面的界面就好了。
启动金X
然后我们打开我们的Lua工作目录 (F:\游戏\【MOD编辑器】金X 1.1.0.6\gamedata\modcache\ 这里是你的Mod文件夹名字 \lua) 请注意,一定要打开lua这个文件夹,看到我箭头指的地方是LUA就行。这里我们就成功了一半了!!!
Lua文件夹打开
打开之后,我们先找到我们想打断点的文件,在对应行按F9打上断点,这时候还不行,我们还需要一个调试机制,这时候直接按F5运行或者切换到生成运行设置文件的栏生成一个配置文件。这里我选择的是先生成配置文件然后再F5运行。
生成配置文件
点击完成之后选EmmyLua Attach Debug
EmmyLua Attach Debug
理论上直接默认配置就好了,这里把我默认生成的代码po出来。

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "emmylua_attach",
            "request": "attach",
            "name": "通过进程ID附加",
            "pid": 0
        }
    ]
}

然后我们找到我们需要打断点的文件打上断点,然后按F5直接运行,会让你选择绑定的程序,我们选择刚刚我们打开的 【金X】 就可以执行断点操作了。
绑定程序
我的断点打在了人物开局属性选择那里,所以最后会在那里暂停,大家可以自己试验一下。
断点图片

发布了6 篇原创文章 · 获赞 7 · 访问量 262

猜你喜欢

转载自blog.csdn.net/qq_19577209/article/details/105032562
今日推荐