使用VSCode斷點調(diào)試Lua教程

一.安裝Visual Studio Code(vscode)和插件中心搜索安裝luaide

二.配置luach.json

1.工程文件夾直接拖入vscode即可

2.左側(cè)欄調(diào)試圖標->設(shè)置->選擇LuaDebug,這時會出現(xiàn)launch.json文件

3.在launch.json文件中找到exePath字段修改到模擬器路徑

例如:"exePath": "D:/xxx/player-3.x/player3.exe",

其他地方配置默認就可以。

三.lua斷點調(diào)試配置

? ? 1.下載LuaDebug.lua這個文件

? ? ? 地址: https://github.com/k0204/LuaIde

2.把LuaDebug.lua文件放在工程src目錄下

3..調(diào)試代碼添加

? ? ? ? 在main.lua文件中添加以下代碼:

? ? ? ? ? ? local breakInfoFun,xpcallFun = require("LuaDebug")("localhost", 7003)

? ? ? ? ? ?

? ? ? ? ? ? --3.x

? ? ? ? ? ? --1.斷點定時器添加

? ? ? ? ? ? cc.Director:getInstance():getScheduler():scheduleScriptFunc(breakInfoFun, 0.3, false)

? ? ? ? ? ? --2.程序異常監(jiān)聽

? ? ? ? ? ? function G__TRACKBACK(errorMessage)

? ? ? ? ? ? debugXpCall();

? ? ? ? ? ? print("----------------------------------------")

? ? ? ? ? ? local msg = debug.traceback(errorMessage, 3)

? ? ? ? ? ? print(msg)

? ? ? ? ? ? print("----------------------------------------")

? ? ? ? ? ? end

? ? ? ? ? ? local status, msg = xpcall(main, G__TRACKBACK)

? ? ? ? ? ? --如果是2.x

? ? ? ? ? ? CCDirector:sharedDirector():getScheduler():scheduleScriptFunc(breakInfoFun, 0.3, false)

? ? ? ? ? ? function G__TRACKBACK(errorMessage)

? ? ? ? ? ? debugXpCall();

? ? ? ? ? ? print("----------------------------------------")

? ? ? ? ? ? local msg = debug.traceback(errorMessage, 3)

? ? ? ? ? ? print(msg)

? ? ? ? ? ? print("----------------------------------------")

? ? ? ? ? ? end

? ? ? ? ? ? local status, msg = xpcall(main, G__TRACKBACK)

四.調(diào)試:

1.按F5啟動調(diào)試

調(diào)試一旦啟動,編輯器頂部就會顯示出調(diào)試命令欄

繼續(xù) / 暫停 F5

跳過 F10

進入 F11

退出 Shift+F11

重新開始 unassigned

停止調(diào)試 Shift+F5

2.單擊VS Code左側(cè)視圖欄的調(diào)試圖標即可打開調(diào)試視圖。

3.一些調(diào)試小技巧

1變量區(qū)域不單能直觀看到值,也可以直接編輯變量值調(diào)試,或者通過鼠標懸停在編輯器中的源碼上編輯。

2想要一直跟蹤某個變量,可以編輯那個變量到監(jiān)視里。

3利用調(diào)用堆棧,可以知道當出錯函數(shù)被誰調(diào)用的時候出錯。這樣一層層的看上去,有時可以猜測出錯誤的原因。

4在源代碼不可得但是函數(shù)名稱已經(jīng)知曉的情況下,可以通過按斷點區(qū)域頭部的+來創(chuàng)建斷點函數(shù)。


五.編輯用戶代碼片段(Snippets)

菜單欄->文件->首選項->用戶代碼片段->lua

參數(shù)解釋:

prefix? ? ? :這個參數(shù)是使用代碼段的快捷入口,比如這里的log在使用時輸入log會有智能感知.

body? ? ? ? :這個是代碼段的主體.需要設(shè)置的代碼放在這里,字符串間換行的話使用\r\n換行符隔開.注意如果值里包含特殊字符需要進行轉(zhuǎn)義.

        多行語句的以,隔開。

$1? ? ? ? ? :這個為光標的所在位置.

$2? ? ? ? ? :使用這個參數(shù)后會光標的下一位置將會另起一行,按tab鍵可進行快速切換,還可以有$3,$4,$5.....

description :代碼段描述,在使用智能感知時的描述

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容