这篇文章将为大家详细讲解有关vscode lua断点失败的解决方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
vscode lua断点失败怎么办?
使用VSCode断点调试Lua教程
一.安装Visual Studio Code(vscode)和插件中心搜索安装luaide
二.配置luach.json
1.工程文件夹直接拖入vscode即可
2.左侧栏调试图标->设置->选择LuaDebug,这时会出现launch.json文件
3.在launch.json文件中找到exePath字段修改到模拟器路径
例如:"exePath": "D:/xxx/player-3.x/player3.exe",
其他地方配置默认就可以。
三.lua断点调试配置
1.下载LuaDebug.lua这个文件
地址: https://github.com/k0204/LuaIde
2.把LuaDebug.lua文件放在工程src目录下
3..调试代码添加
在main.lua文件中添加以下代码:
local breakInfoFun,xpcallFun = require("LuaDebug")("localhost", 7003) --3.x --1.断点定时器添加 cc.Director:getInstance():getScheduler():scheduleScriptFunc(breakInfoFun, 0.3, false) --2.程序异常监听 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)
四.调试:
1.按F5启动调试
调试一旦启动,编辑器顶部就会显示出调试命令栏
继续 / 暂停 F5
跳过 F10
进入 F11
退出 Shift+F11
重新开始 unassigned
停止调试 Shift+F5
2.单击VS Code左侧视图栏的调试图标即可打开调试视图。
3.一些调试小技巧
1变量区域不单能直观看到值,也可以直接编辑变量值调试,或者通过鼠标悬停在编辑器中的源码上编辑。
2想要一直跟踪某个变量,可以编辑那个变量到监视里。
3利用调用堆栈,可以知道当出错函数被谁调用的时候出错。这样一层层的看上去,有时可以猜测出错误的原因。
4在源代码不可得但是函数名称已经知晓的情况下,可以通过按断点区域头部的+来创建断点函数。
五.编辑用户代码片段(Snippets)
菜单栏->文件->首选项->用户代码片段->lua
参数解释:
prefix :这个参数是使用代码段的快捷入口,比如这里的log在使用时输入log会有智能感知.
body :这个是代码段的主体.需要设置的代码放在这里,字符串间换行的话使用\r\n换行符隔开.注意如果值里包含特殊字符需要进行转义.
多行语句的以,隔开。
$1 :这个为光标的所在位置.
$2 :使用这个参数后会光标的下一位置将会另起一行,按tab键可进行快速切换,还可以有$3,$4,$5.....
description :代码段描述,在使用智能感知时的描述
关于“vscode lua断点失败的解决方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。