我正在开发一款小型多人游戏,它有一个tick方法,可以执行各种逻辑操作,例如移动,创建和检查游戏元素。
每100毫秒调用一次tick方法。有时因错误而出问题。但是这些错误很难追查,主要是因为事情每秒被调用很多次。因此,当我在某些点添加调试日志条目时,日志变得过于拥挤而且不容易理解。
有没有办法在游戏持续运行时监控某些变量?
我尝试了jmx,但由于jmx的复杂性,设置jmx监视变量的时间很长。此外,当跟踪一个但我不知道要监视哪个变量时,这意味着我需要快速从变量切换到变量。
答案 0 :(得分:1)
我认为Chronon DVR for Java或类似工具可以为您提供解决方案,您可以记录所有内容,然后进行分析,然后尝试发现导致问题的错误。
Chronon记录Java程序的整个执行并保存 到磁盘。录音可以随时播放,从而消除 那些'不可重复'的错误。
或者,您可以尝试将Eclipse调试器附加到运行远程的Java应用程序,请查看this guide以获取更多信息。
答案 1 :(得分:1)
这是游戏设计中的一个大问题,其中绘制被称为每秒30/60次。
我发现在屏幕上输出所有值有很大帮助,因为它不会保存以前的值,因此您可以轻松查看事情何时发生变化。
当值更改为不应该的范围时,您也可以添加断点,从而允许您进一步检查代码,例如
1 if(val>1000){
2 debugger;
3 }