BabeLua常见问题

时间:2022-09-25 22:46:08

BabeLua常见问题

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

怎样升级BabeLua?

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

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

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

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

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

启动VS未能正确加载BabeLua

BabeLua常见问题

如果启动VS出现这样的提示,则需要到【扩展和更新】功能下卸载BabeLua,然后再重新安装BabeLua即可解决问题。

BabeLua暂未实现功能有哪些?

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

●附加到进程调试

BabeLua不支持的功能有哪些?

●不支持远程和真机调试

不能连接到IOS,Android,WP8真机进行调试。

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

●不支持调试64位程序

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

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

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

BabeLua常见问题

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

BabeLua常见问题

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")

BabeLua常见问题

启动调试后无法命中断点是什么原因?

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

BabeLua常见问题

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

BabeLua常见问题

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

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

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

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

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

Warning 1000: Lua functions were not found during debugging session

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

调试时观察不到所有变量的值是什么原因?

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

BabeLua常见问题

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

BabeLua常见问题

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

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

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

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

同时您可以提供相关的测试数据给我们,帮助我们改进。

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

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

BabeLua常见问题

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

BabeLua常见问题

BabeLua常见问题

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

BabeLua常见问题

调试过程中宿主程序异常退出原因有哪些?

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

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

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

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

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

遇到其他异常退出的情况您可以加入BabeLua QQ群,寻求帮助。

BabeLua稳定性怎样?

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

如果使用非Lua官网下载的Lua库,向下兼容Lua5.1的库可以正常调试。

更多经验交流,欢迎加入BabeLua QQ群:95814965

BabeLua常见问题的更多相关文章

  1. 使用BabeLua在cocos2d-x中编辑和调试Lua

    使用BabeLua在cocos2d-x中编辑和调试Lua BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查.自己主动补全.高速搜索,注入宿主程序内对Lu ...

  2. visual studio Lua 调试

    BabeLua是一款基于VS (简称VS)的免费开源的Lua集成开发环境,在Lua编辑和调试方面,具有如下功能和特性: ●Lua语法高亮 ●语法检查 ●自动补全 ●一键注释 ●格式化代码 ●自定义代码 ...

  3. C++常见笔试面试要点以及常见问题

    1. C++常见笔试面试要点: C++语言相关: (1) 虚函数(多态)的内部实现 (2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现 ...

  4. SQL Server常见问题介绍及快速解决建议

    前言 本文旨在帮助SQL Server数据库的使用人员了解常见的问题,及快速解决这些问题.这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架. 下面一些问题是 ...

  5. 【腾讯优测干货分享】如何降低App的待机内存(二)——规范测试流程及常见问题

    本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/806TiugiSJvFI7fH6eVA5w 作者:腾讯TMQ专项测 ...

  6. mysql数据库开发常见问题及优化

    mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...

  7. 《PDF.NE数据框架常见问题及解决方案-初》

    <PDF.NE数据框架常见问题及解决方案-初> 1.新增数据库后,获取标识列的值: 解决方案:    PDF.NET数据框架,已经为我们考略了很多,因为用PDF.NET进行数据的添加操作时 ...

  8. MIS性能优化常见问题与方案(辅助项目组性能优化的总结贴)

    最近帮忙公司的几个项目组进行了不同方面的性能优化,发现几个项目都出现了一些共性的问题.这里写一篇文章,总结一下这几类问题,以及其对应的解决方案.方便其它项目组参考.   常见问题一:打开页面非常慢,有 ...

  9. JMeter常见问题集合

    前言 本文内容仅仅是针对Jmeter的部分功能名词的介绍和解释,以及初学者不易理解的问题的整理.部分内容来自别人做的整理,为了更好地整理自己的思路,所以可耻的整理一下发到博客上. 标题[1-6]和[参 ...

随机推荐

  1. vmware克隆虚拟机后配置网络

    一件配置: rm -rf /etc/udev/rules.d/70-persistent-net.rules cd /etc/sysconfig/network-scriptsrm -rf ifcfg ...

  2. MySQL中MyISAM和InnoDB的区别

    MyISAM和InnoDB的区别 MySQL默认采用的是MyISAM. MyISAM不支持事务,而InnoDB支持.InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事 ...

  3. EF6&plus;MYSQL之初体验

    初次使用EF6+MYSQL 这次的项目时间可拉得够长的,定制开发就是这样.客户真正用上了才能基本上不再改了.起先项目是php实现的,改造成桌面程序.用.net winform开发,像这种小项目肯定要用 ...

  4. PAT 解题报告 1048&period; Find Coins &lpar;25&rpar;

    1048. Find Coins (25) Eva loves to collect coins from all over the universe, including some other pl ...

  5. MySQL与Oracle 差异比较之六触发器

    触发器 编号 类别 ORACLE MYSQL 注释 1 创建触发器语句不同 create or replace trigger TG_ES_FAC_UNIT  before insert or upd ...

  6. php Laravel windows安装

    先要装一个composer, 如果不会装请看这里composer windows可以直接下载composer-setup.exe, 如果安装失败提示"Unable to connect to ...

  7. 三大框架SSH&lpar;struts2&plus;spring&plus;hibernate&rpar;整合时相关配置文件的模板

    最近在学SSH三大框架的整合,在此对他们整合时相关配置文件做一简单的模板总结,方便以后复用! 首先是web.xml配置文件,这里面就配置一些简单的监听器.过滤器,包括spring核心配置文件appli ...

  8. 用count sql做jmeter的while条件

    ${__groovy(vars.get("pboc_req_record_counter_1") == "Invalid"  || vars.get(&quot ...

  9. 【从0到1学Web前端】javascript中的ajax对象(一) 分类: JavaScript 2015-06-24 10&colon;18 754人阅读 评论&lpar;1&rpar; 收藏

    现在最流行的获取后端的(浏览器从服务器)数据的方式就是通过Ajax了吧.今天就来详细的来学习下这个知识吧.如果使用ajax来访问后段的数据,浏览器和浏览器端的js做了那些工作呢?我做了一个图,请大家看 ...

  10. Go语言Web框架gwk介绍 &lpar;五&rpar;

    Session Go的net/http本身不带session的机制,需要开发人员自行实现,gwk实现了内存中的session存储机制,如果需要将session存在其他地方比如redis或者memcac ...