【金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】 就可以執行斷點操作了。
綁定程序
我的斷點打在了人物開局屬性選擇那裏,所以最後會在那裏暫停,大家可以自己試驗一下。
斷點圖片

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章