BabeLua常见问题

BabeLua常见问题

 来源: http://blog.csdn.net/babestudio/article/details/27228865windows

怎样升级BabeLua?

https://babelua.codeplex.com/releases  主站下载(国外站点,速度较慢,可下载最新源码)babel

http://pan.baidu.com/s/1sjmC169 国内镜像(国内较快)session

下载BabeLua最新版本进行覆盖安装socket

如何查看当前安装的BabeLua版本号?

经过VS菜单【工具】【扩展和更新】打开扩展和更新界面,找到并选中BabeLua插件,在右侧显示了当前安装的BabeLua版本号。函数

启动VS未能正确加载BabeLua

若是启动VS出现这样的提示,则须要到【扩展和更新】功能下卸载BabeLua,而后再从新安装BabeLua便可解决问题。工具

BabeLua暂未实现功能有哪些?

●代码块自动完成(如输入if后自动完成 then else end代码块)测试

●附加到进程调试lua

BabeLua不支持的功能有哪些?

●不支持远程和真机调试url

不能链接到IOS,Android,WP8真机进行调试。.net

BabeLua采用注入宿主程序方式进行调试,能够不用修改宿主程序代码或Lua代码就能调试。不一样于使用socket通讯进行调试的工具(如ZeroBrane),这些工具能够实现远程和真机调试。

●不支持调试64位程序

您能够在编译exe文件时将目标平台设置为X86(即32位),使用编译出来的32位程序用来调试。

●不支持内存中的Lua代码添加断点

启动调试后“输出”窗口会显示加载的Lua文件信息,以下图:

 

其中tp,url,socket,@Untitled12文件均是内存中的Lua代码,目前是不能添加断点的。

 

main.lua,game.lua,config.lua是Lua文件,能够添加断点。

自动补全功能与VC++/C#不太一致?

自动补全功能有两种模式:“完成模式”和“建议模式”(VC++采用“建议模式”,C#默认采用“完成模式”)。

 

BabeLua采用的的是“完成模式”,自动补全规则以下:

●开始键入对象的名称。在可滚动的列表中显示全部的有效成员。键入时,相应的符号将突出显示。您能够经过滚动或使用箭头键浏览该列表,或者,若是知道成员名称的前几个字母,能够开始键入这些字母,直接跳至列表中的该成员。

●若要在代码中插入突出显示的成员,请按Tab或Enter。

●按Esc键,能够消除自动补全窗口。

怎样使用“Lua for Windows”执行Lua代码?

从Lua官网下载“Lua for Windows”并安装,下载地址以下:

http://luaforge.net/projects/luaforwindows

安装"Lua for Windows"可能须要预先安装VC2005运行时库,下载地址以下:

http://www.microsoft.com/en-us/download/details.aspx?id=3387

 

Lua scripts folder:Lua代码的路径,该目录下的全部Lua文件将在“Folder Explorer”中列出。

Lua exe path:调试时启动的exe文件路径,设置为“Lua for Windows”安装目录下lua.exe文件的路径。

Working path:工做目录,与“Lua scripts folder”一致。

Commond line:运行的Lua文件名,下图示例中运行的Lua文件名是func.lua。

启动后若是“Lua.exe”窗口一闪而过,能够在Lua文件的最后面加上一行Lua代码os.execute("PAUSE")

 

启动调试后没法命中断点是什么缘由?

1、首先检查一下您的“解决方案管理器”中是否包含多个项目,若是有多个项目,您须要右键点击Lua项目,将其设置为启动项目。

 

2、调试时没法命中断点的问题,多数是由于BabeLua没法正确加载Lua文件所致,此时,BabeLua会在输出窗口中输出这个信息,以下图:

 

到目前为止,BabeLua是从您设置的“Lua scripts folder”目录下搜索Lua文件,而后加载Lua文件到VS调试器中。这不一样于Lua虚拟机(LuaState),是有本身的Lua文件搜索规则(例如package.path)。

为了确保能正常的进行断点调试,您目前须要遵循以下过程:

(1)将须要调试的Lua代码,放到“Lua scripts folder”下,并确保目录层级正确;

(2)在“Folder Explorer”中打开Lua文件并添加断点;

3、启动调试后,查看VS“输出”窗口的输出信息,若是出现如下提示信息:

Warning 1000: Lua functions were not found during debugging session

则须要将exe文件对应的pdb文件(和exe文件同时编译出来的pdb文件)拷贝到exe文件所在目录下,而后再启动调试。

调试时观察不到全部变量的值是什么缘由?

以下图,若是“监视”窗口中只显示了变量的类型,而不显示变量的值。请在“监视”窗口中点击右键,去掉“十六进制显示”的勾选项。

去掉“十六进制显示”勾选项后,结果以下图:

调试时观察table类型的变量有时候看不见其成员?

极少数状况下会出现观察table类型的变量看不见其成员。

出现的缘由可能有该table下的成员有包含中文字符串或者是userdata(如cocos2d-x建立的对象)。

若是出现该现象,您又想查看table下的成员值,能够直接将table的成员拖到“监视”窗口中查看,或是鼠标移动到table的成员名称上进行查看。

同时您能够提供相关的测试数据给咱们,帮助咱们改进。

调试时观察cocos2d-x建立对象的值只能看到地址?

以下图,调试查看visibleSize的值为0x08FF1CD0

  

须要查看该cocos2d-x对象的值你能够将该对象的成员拖到“监视”窗口中查看,或是鼠标移动到该对象的成员名称上查看,以下图:

  

  

或者经过调用cocos2d-x对象的函数,返回基础类型的值(整形,字符串等)赋给变量来查看其内容,以下图:

 

调试过程当中宿主程序异常退出缘由有哪些?

(1)宿主程序自己存在异常退出的现象

先检查一下直接运行宿主程序,可否正常运行。

(2)使用了非Lua官网下载的Lua库

使用非Lua官网下载的Lua库,有可能会致使调试过程当中宿主程序异常退出,向下兼容Lua5.1的库能够正常调试。

(3)其余异常退出的现象

遇到其余异常退出的状况您能够加入BabeLua QQ群,寻求帮助。

BabeLua稳定性怎样?

使用调试30-50次可能会出现1-2次crash的状况。

若是使用非Lua官网下载的Lua库,向下兼容Lua5.1的库能够正常调试。

 

==========================

相关文章
相关标签/搜索