Rumah  >  Artikel  >  alat pembangunan  >  vscode lua断点失败怎么办

vscode lua断点失败怎么办

藏色散人
藏色散人asal
2019-12-24 09:10:504161semak imbas

vscode lua断点失败怎么办

vscode lua断点失败怎么办?

使用VSCode断点调试Lua教程

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

9242cb00064b8f8e7bf6bd45c4fa156.png

二.配置luach.json

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

2.左侧栏调试图标->设置->选择LuaDebug,这时会出现launch.json文件

d9e7f4088cb3a091b3ac7014d4b286a.png

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

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

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

三.lua断点调试配置

    1.下载LuaDebug.lua这个文件

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

cad0eeb678a07cf452a736ee7daf3e9.png

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

2adea05309f2ed3a26c64cd6f17d32f.png

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)

e34360903ed509899dd813395025912.png

四.调试:

1.按F5启动调试

调试一旦启动,编辑器顶部就会显示出调试命令栏

b368b48722be625fdac8e167148b061.png

继续 / 暂停 F5

跳过 F10

进入 F11

退出 Shift+F11

重新开始 unassigned

停止调试 Shift+F5

2.单击VS Code左侧视图栏的调试图标即可打开调试视图。

8e4fe7b1694fcc7ee22d631b019a300.png

3.一些调试小技巧

1变量区域不单能直观看到值,也可以直接编辑变量值调试,或者通过鼠标悬停在编辑器中的源码上编辑。

2想要一直跟踪某个变量,可以编辑那个变量到监视里。

3利用调用堆栈,可以知道当出错函数被谁调用的时候出错。这样一层层的看上去,有时可以猜测出错误的原因。

4在源代码不可得但是函数名称已经知晓的情况下,可以通过按断点区域头部的+来创建断点函数。

d84362710fa10b489baf68d606d3d38.png

五.编辑用户代码片段(Snippets)

菜单栏->文件->首选项->用户代码片段->lua

ba0efaeb4a69d1e8e3b9fdb88454eef.png

参数解释:

prefix      :这个参数是使用代码段的快捷入口,比如这里的log在使用时输入log会有智能感知.

body        :这个是代码段的主体.需要设置的代码放在这里,字符串间换行的话使用\r\n换行符隔开.注意如果值里包含特殊字符需要进行转义.

        多行语句的以,隔开。

$1          :这个为光标的所在位置.

$2          :使用这个参数后会光标的下一位置将会另起一行,按tab键可进行快速切换,还可以有$3,$4,$5.....

description :代码段描述,在使用智能感知时的描述

Atas ialah kandungan terperinci vscode lua断点失败怎么办. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:vscode中的工作区是什么?Artikel seterusnya:vscode如何测试html