ZeroBrane Studio远程调试Lua步骤

下载地址

http://studio.zerobrane.com/download?not-this-time
github地址:
https://github.com/pkulchenko/ZeroBraneStudio

安装步骤

无需安装,直接在文件中找到zbstudio文件夹,可运行程序在里面。

ZeroBrane Studio常用窗口

  • Console window

    类似终端实时交互模式

  • Stack window

简而言之就是获取断点数据(返回的函数名,变量),也可单独进入table里面查看数据。
问题:发现没有用local定义的变量无法在stack中显示。

  • Watch window

    利用addwatch添加自己要关注的变量。

How debugging works

在IDE中一共有两种方式启动debug。他们的工作方式是相同的:在进行debug调试的时候首先将debugger组件载入应用程序中。与IDE建立起socket连接。IDE接受用户的命令(单步调试,断点,等等信息)。然后IDE发送这些命令给给应用程序中的debugger组件。如果有返回数据IDE还会进行处理。

当应用程序由于(单步,断点,break命令)挂起的时候。IDE将会去寻找哪里使得应用程序挂起的源文件。如果这个文件已经在IDE中打开,将会在当前行有绿色箭头的默认标签(与大部分编译器是一样的)。如果文件没有在IDE中打开,但是如果配置信息 (editor.autoactivate = true),文件也会被加载到IDE中(貌似我都是拉进去直接设置断点)。

远程调试(Remote debugging)

  • Open ZeroBrane Studio. Go to Project | Start Debugger Server and start the debugger server
  • Open the Lua file you want to debug.
  • Select the project directory by going to Project | Project Directory | Choose...or using Project | Project Directory | Set From Current File.(打开工程)
  • require('mobdebug').start() 添加进去lua文件中。如果应用程序是在别的计算机上运行,就必须去定位IP地址在格式变为require('mobdebug').start("12.345.67.89") or require('mobdebug').start("domain.name")(暂时没有去用过,官方介绍使用)

Make mobdebug.lua and luasocket available to your application

可以通过三种方式

First:Setup environment for debugging(设置环境变量)

Windows平台

set ZBS=D:\path\to\ZeroBraneStudio

set LUA\_PATH=./?.lua;%ZBS%/lualibs/?/?.lua;%ZBS%/lualibs/?.lua

set LUA_CPATH=%ZBS%/bin/?.dll;%ZBS%/bin/clibs/?.dll

\./myapplication

Macosx && Linux

export ZBS=/opt/zbstudio

export LUA_PATH="./?.lua;$ZBS/lualibs/?/?.lua;$ZBS/lualibs/?.lua"

export LUA_CPATH="$ZBS/bin/linux/x64/?.dll;$ZBS/bin/linux/x64/clibs/?.dll"

./myapplication

其中LUA_CPATH如果已经配置过环境变量以及配置过luasocket的路径就不需要在这边再次配了。注意点:上面路径要根据自己电脑的路径来写,比如linux/x64是很多不需要的。

Second:Configure path for debugging

设置package.path 和 package.path(如果需要的话)(暂时未使用过这种方法)
package.path = package.path .. ";/opt/zbstudio/lualibs/mobdebug/?.lua"

Third:Include mobdebug.lua with your application

copying mobdebug.lua from lualibs/mobdebug/mobdebug.lua (this assumes your application already provides luasocket support).
然后在你的文件中require('mobdebug').start()

Troubleshooting

  • 如何找到mobdebug.lua ?在Linux中路径是/opt/zbstudio。而在Mac OS X中路径应该是/Applications/ZeroBraneStudio.app/Contents/ZeroBraneStudio。右键ZeroBraneStudio ,打开显示包内容,去获得你的完全路径。(上面ZBS的路径)

其他一些问题也是官网上有的。暂时没有在编译过程中遇到问题。所以下面就不进行中文解释了。

  • I can’t step into functions defined in other files in my project. You either need to open them in the IDE before you want to step through them, or to configure the IDE to auto-open files requested during debugging using editor.autoactivate = true.

  • The host name is detected incorrectly. In some rare cases the domain name detected by ZeroBrane Studio cannot be resolved, which prevents the debugger from working. You can specify the domain name or address you want to use by configuring the IDE with debugger.hostname="domain".

  • I get dynamic libraries not enabled error.You may get the following error when loading socket.core on Linux: error loading module ‘socket.core’ from file ‘/opt/zstudio/bin/linux/x86/clibs/socket/core.so’: dynamic libraries not enabled; check your Lua installation. This most likely means that the Lua interpreter you are using was built without LUA_USE_DLOPEN option enabled. You can either enable it or statically link your application with luasocket.
    (这个问题发生在了colortouch调试的时候,因为不接受动态库,所以应该将luasocket编译到工程中)

  • **(Note: you should not see this error if you are using v0.38 or later) I get “Debugger error: unexpected response after EXEC/LOAD ‘201 Started …’”. This is caused by not having a filename associated with a dynamic chunk loaded by your application. If you are using loadstring(), you should pass a second parameter that is a filename for the fragment (and that file can then be debugged in ZeroBrane Studio if it’s placed in the project directory). If you are using luaL_loadstring (which has no option to label the chunk with its file path), you can switch to using luaL_loadbuffer to pass that information.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • Correctness AdapterViewChildren Summary: AdapterViews can...
    MarcusMa阅读 8,847评论 0 6
  • 昨天怀着不愿的情绪回家,今天带着不舍离开家。在家也就待了不到两天,还有一天是总想着要走。 不知道从什么时候开始,每...
    Lady_Lydia阅读 130评论 0 0
  • 昨天带学生春游,虽累却很尽兴。今天正好三八节,下午放假半天,还不错。早上听了一节校内老师的公开课后,加上自己上了三...
    清汤寡水bh阅读 212评论 0 0
  • Youcandreamyourlife. But youmustliveyourdream. 看过这个视频感慨良多...
    胡子长阅读 777评论 0 0
  • 今天在腾讯视频上下载了一个文件qlv格式的,因为要在公司电脑上播放这个视频,又不想下载腾讯视频软件,于是想能...
    felixfeihu阅读 4,639评论 0 2