Code Monkey home page Code Monkey logo

luasoar's Introduction

LuaSoar(Lua说)

sublime插件,用来调试quick-cocos2dx的lua脚本。支持Android真机调试

启动方式修改:

因为quick版本太多,启动方式太多,所以把启动单独成一个脚本,复制到项目路径下就可以,暂时有quick2和quick3两个版本。

实现原理请查看 15 行代码 Lua 调试原理自定义sublime插件 调试原理:

  • lua本身有一个库叫做debug,可以获得当前运行的代码信息,如上下文,堆栈,执行表达式。
  • 这个调试插件有以下两个主要的文件,他们之间使用socket通信。
  • debugger.lua,功能是设置断点,获取lua本身的运行信息,作为socket的客户端
  • luaSoar.py,作为socket服务端,用来获得lua的运行信息,使用sublime接口显示出来

如果不能设置断点,请按照以下步骤试试:

  • 检查快捷键有没有被占用,如果占用换一个试试
  • 修改插件以后,需要重启sublime
  • 再按添加断点的快捷键,会出现断点的小圆点。

##如果出现了断点的小圆点,不能启动模拟器,请手动启动模拟器试试。

LuaSoar looks like

环境:

  • sublime 版本:sublime text 3
  • 测试环境:windows and Mac os
  • 测试使用quick-cocos2d-x-3.2rc1

安装:

###方法一 通过package control安装 参考这里

###方法二 下载安装

  • 下载LuaSoar
  • 点击sublime text3 浏览插件包;luaSoarinstall1
  • 放置插件到这个目录即可。luaSoarinstall2

使用:

luaSoar use

图中的main.lua是这样的

--192.168.0.5 ip地址,如果不需要真机调试,可以写127.0.0.1
--10240 调试用的端口号,和debugger.lua文件中用的一样就可以
--"luasoar"一个字符串
--nil(不用理他)
--"win"关系到路径的处理,mac上使用"unix",windows使用"win"
--"E:/projects/android/mytest" 项目绝对路径。
require("debugger")("192.168.0.5",10240,"luasoar",nil,"win","E:/projects/android/mytest")

function __G__TRACKBACK__(errorMessage)
    print("----------------------------------------")
    print("LUA ERROR: " .. tostring(errorMessage) .. "\n")
    print(debug.traceback("", 2))
    print("----------------------------------------")
end
require("app.MyApp").new():run()

总结一下步骤:

  • 复制debugger.lua到src目录,quick2.x.x是script目录
  • 在main.lua中添加调试入口,见上文的文件。
  • 复制对应的launcher.bat到工程目录,和src目录同级,windows下双击应该能够打开模拟器。(可以不做,不做需要手动启动模拟器)

快捷键:

  • f2 添加断点

  • f5 step into

  • f6 step over

  • f7 step out

  • f8 run

  • shift+f2 启动播放器调试

  • ctrl+shift+f2 启动真机调试,等待android客户端连接

  • 光标移动到一行按 f2 可添加断点

  • 定位到 Lua Expression 标签,输入要执行的代码,按enter即可查询表达式(注意,如果代码提示不正确,按esc)

注意事项

  • 只接受一个调试客户端的连接
  • 如果发现连接不上,请按f8
  • 调试时,断点只支持未编译过的lua,如果使用luac或者luajit编译过,不能断点。

自定义

修改快捷键请编辑插件目录下的文件:

Default (Windows).sublime-keymap/Default (OSX).sublime-keymap

修改【keys】字段

最后

欢迎拍砖

luasoar's People

Contributors

peter4431 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

luasoar's Issues

windows下,Lua Context

windows下,用的sublime text 3, quick v2.2.1版本, 那个Lua Context显示内容, 有很多是之前设置残留的也显示出来了, 好多无关内容啊!
意思就是说:Lua Context的内容会不断膨胀,以前调试信息的残留也不会被抹掉!

而且会经常卡死!
qq 20141128103105

mac下无法设置断点,无法启动调试

我通过package方法成功安装了插件,根据Default (OSX).sublime-keymap的源码来看,应该是按F2设置断点,shift+F2启动调试,可无论怎么设置,Sublime就是没反映。求助解决方法,谢谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.