• 在cocos2dx中调试lua


    cocos2d-x开发包中内置了lua,而且也内置了tolua++,提供了lua对C++的支持.在官网下载的开发包中的sample就包含了

    lua的实例.如何去调试项目中的lua代码呢? 今天的主题就是在cocos2d-x中调试lua代码.

    有两个工具可以选择,一个简单点,一个复杂点.

    1. Decoda(商用,需要收费,而且很贵,不过有好心人分享了破解版)

    2. LuaEdit(开源)

    我的意思不是在评价这两个debug工具,而是采用两种工具使用的方式难易.

    还是先说说简单容易操作的方式吧.这个不需要改动代码.(Decoda)

    我是在window上面编译的HelloLua sample,工具就是VS2010. debug模式编译.这个就不用多说了吧.生成的文件在Debug.win32

    目录下面,而且包含了很多的链接库文件.

    启动Decoda,在Debug选项中选择Start Debugging[F5],需要做的就是在Commad选项中选择执行debug的文件的绝对路径.

    下面就开始debug,但是会提示一个错误:

    很清晰,在cocos2d-x的后台输出了,提示我们找不到hello.lua文件.当然也是找不到hello2.lua文件的.

    这个是因为路径的问题,我没有配置vs,导致编译后生成的文件不是在当前项目的文件夹下,所以找不到lua文件,那就到HelloLua sample

    文件夹下面将Resource文件夹下面的文件都拷贝到当前目录就可以了.然后再执行debug就可以看到游戏画面了.注意查看当前后台输出

    信息,是正常的,这个需要确认.

    注意现在还没有插入断点,所以关闭现在的debug,然后再lua文件中插入断点再重复执行刚才的操作就可以实现debug了.

    我只是假设性的随便添加了一个watch target,结果可以看上图.

    在Decoda的文件包中有使用文档,E文的,简明的教程.Decoda有两种使用方式,而我只是简单介绍了注入宿主程序的方式,没有介绍attack

    宿主进程的方式,可以去参考文档.

    2 复杂的方式是使用LuaEdit进行调试.LuaEdit提供了Remote debug模式,不过你在调试的时候需要在宿主机上面开启remote debugger.

     LuaEdit提供了编程需要的文件和库,需要按照官网文档的方式做.

    不好意思了,这个也不用翻译了,大家都看得懂.

    说了那么多都是在windows上面debug的方式,但是这些软件在linux上面都不可以使用. 不知道在linux下面有没有这样方便

    的软件.实在不行只能自己动手了.

     
     
  • 相关阅读:
    Educational Codeforces Round 13
    Educational Codeforces Round 12
    vscode 修改标签栏样式为换行全部展示
    webpack uglifyjs 报错 Unexpected token name
    tsconfig.js 使用 paths 设置alias无效问题
    Webpack 报错 filename.indexOf is not a function 的问题
    'GL_EXT_shader_framebuffer_fetch' : extension is not supported
    Flutter命令突然无响应、vscode突然无法连接到IOS模拟器
    解决node fs.writeFile 生成csv 文件乱码问题
    数组map方法与如何使用ES5实现
  • 原文地址:https://www.cnblogs.com/respawn/p/2764894.html
Copyright © 2020-2023  润新知