kbengine在线调试
来源:互联网 发布:qq for mac远程 编辑:程序博客网 时间:2024/04/29 19:40
使用可视化工具GUIConsole:
使用脚本命令工具Cluster Controller:
你可以使用这个工具查看服务端运行的一些状态信息 (参看: Information query servers)
你可以使用这个工具进入Python命令行调试 (参看: Console)
使用telnet服务kbengine_defs.xml->telnet_service:
cellapp: telnet localhost 50000baseapp: telnet localhost 40000client: telnet localhost 51000
调试技巧:
允许系统产生core文件(仅Linux):
在~/.bashrc中添加如下命令:ulimit -c unlimited需要root权限执行:[root@gameserver ~]# echo '%e.core.%p' > /proc/sys/kernel/core_pattern
断点调试:
仅引擎层c++代码可以使用断点调试,断点调试请先关闭服务端心跳机制kbengine_defs.xml->channelCommon->timeout.
脚本层只能查看输出日志,或者使用Python命令行来调试,由于是分布式服务程序没有增加断点的功能。
Python命令行调试游戏逻辑例子(在Python命令行输入):
查看当前进程上的所有Entity:
>>> KBEngine.entities.items()[1: Space at 0x4D3040, 2: Monster at 0x4D3038]>>> for entityID, entity in KBEngine.entities.items(): print("entityID:%i, entity=%s")1, Space at 0x4D30402, Monster at 0x4D3038
查看Entity当前的坐标:
>>> KBEngine.entities[entityID].position(10.0, 0, 10.0)
改变Entity的朝向:
>>> KBEngine.entities[entityID].direction.z = math.pi
调用Entity的接口:
>>> KBEngine.entities[entityID].funcXXX()
手动创建一个Entity(cellapp):
>>> e = KBEngine.createEntity("Monster", spaceID, (10.0, 0, 10.0), (0.0, 0, 0.0), {})
调用一个Entity的远程方法(cellapp):
>>> KBEngine.entities[entityID].base.func()>>> KBEngine.entities[entityID].client.func()
你可以在Python命令行输入任意的Python语句并执行。
性能分析:
引擎性能分析
- GUIConsole->profile选项卡 : 选择cprofile进行分析。
- Cluster Controller : 使用”:cprofile”命令。
脚本性能分析
- GUIConsole->profile选项卡 : 选择pyprofile进行分析。
- Cluster Controller : 使用”:pyprofile”命令。
网络状态分析
- GUIConsole->profile选项卡 : 选择mercuryprofile进行分析。
- Cluster Controller : 使用”:mercuryprofile”命令。
事件处理分析
- GUIConsole->profile选项卡 : 选择eventprofile进行分析。
- Cluster Controller : 使用”:eventprofile”命令。
监视变量:
引擎允许使用工具监视当前进程上默认提供的变量(例如:总发包数,当前在线的玩家数),同时用户也可以在脚本中添加需要监视的变量。
查看方式: GUIConsole->watcher选项卡。
添加脚本监视变量的例子(监视在线玩家数):
baseapp->watcher.py:......def countPlayers():i = 0for e in KBEngine.entities.values():if e.__class__.__name__ == "Avatar":i += 1return i......KBEngine.addWatcher("scripts/countPlayers", "UINT32", countPlayers)......
0 0
- kbengine在线调试
- KBEngine
- KBEngine
- [KBEngine] 云服务器搭建KBEngine v1.1.0与远程连接调试 —— 详细流程记录
- 什么是KBEngine
- kbengine 安装
- kbengine怎么样?
- 什么是KBEngine?
- kbengine 下载
- kbengine下载
- kbengine学习心得
- 什么是KBEngine
- 在线本地调试大观
- 转载_uLink在线调试
- web开发在线调试
- JavaScript在线调试
- js在线调试工具
- 在线调试工具集锦
- Unsupported Drawing Operations(不支持的绘制操作) 及View层
- Eclipse 工作目录、控制台背景颜色的更改
- JVM_Java内存管理篇_内存分配(一)
- Android输入法挤乱布局问题
- 无向图的边存储
- kbengine在线调试
- ASP.NET视频总结
- Eclipse中如何集成SVN插件
- kbengine压力测试
- Linux-shell
- Fedora防火墙
- xmpp 及时通讯客户端开发
- kbengine查看运行时日志
- 利用nowrap和.getBoundingClientRect()根据文本字符判断长度