🔬 在线调试(GUIConsole)
大约 1 分钟
GUIConsole介绍:
该工具是GUI图形化Console工具,位于 kbe/tools/server/guiconsole
中。该工具只能在Windows下运行,如下图:

GUIConsole选项卡介绍:
Status选项卡: 服务端组件列表, 提供一些简单的系统信息。
Debug选项卡: 你可以在服务端运行的时候使用Python语句进行动态的调试与输出。
Log选项卡: 实时的查看服务端运行log.
Profile选项卡: 你可以在服务端运行状态下动态的获得一段时间内的程序性能分析。
pyprofile: 提供了逻辑层Python程序的性能分析
cprofile: 提供引擎层c/c++程序的性能分析
eventprofile: 在一段时间内发生的事件的数据统计
networkprofile: 在一段时间内的网络数据分析
Watcher选项卡: 你可以实时的观查服务端在运行的一些被监视的参数变化。
SpaceView选项卡: 实时的查看服务端对一个完整的场景进行动态负载平衡的情况。
使用GUIConsole如何在线调试?

在图示的区域内,可以输入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 0x4D3040
2, 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语句并执行!