作者:韦秋实 2012-03-14LuaSpy
LuaSpy用于显示Bolt引擎中Lua虚拟机和运行时的全局对象,类似VBA中的“对象浏览器”。
Lua脚本语言在基于Bolt引擎开发中也扮演了重要的角色,为了方便大家对Lua虚拟机和运行时总体状态的认识和监视,我们开发了专门的辅助工具LuaSpy。
LuaSpy在设计上可以用来查看下列内容: l 进程的所有的lua环境(LUAENV)(需要Reflink)和lua运行时(LUARUNTIME) l 注册到lua环境的全局api、全局object和全局class
有几个注意事项: 1. 自定义control和自定义animation,由于架构原因,自定义的方法暂时无法展示 2. 自定义control和自定义animation,由于存在于更上层(Bolt层面),并且引擎基于按需加载机制,而LuaSpy只是查看当前的lua运行时和虚拟机,所以在第一次实例化之前不会在列表里面展示,可以通过“刷新对象”按钮来刷新当前的进程状态。 3. 目前只展示默认env内部的对象,目前来说绝大部分都是只操作该env 4. 注册到lua里面的C函数,由于是参数类型和个数都是动态的,所以无法推算预期的参数列表,目前只显示函数名和所在模块
软件界面如下:
目前可以展示的部分包括: 1. 全局API 2. 全局Object l 系统object 也即是Bolt和luaruntime内置的一些全局对象,比如TimerManager,XARManager等 l 扩展object 用户自己添加进来的全局object 3. 全局class l 系统class 主要是Bolt、luaruntime和扩展库xgp、xaf内置的一些class l 扩展class 包括了自定义control、自定义animation以及用户自己扩展的一些class
这里需要注意一点,每个全局object都有一个对应的全局class,这个class在全局object对应的object下面和全局class列表里面均有展示。
|
|