监控正在运行的程序的变量?

时间:2015-10-27 14:44:00

标签: java monitoring

我正在开发一款小型多人游戏,它有一个tick方法,可以执行各种逻辑操作,例如移动,创建和检查游戏元素。

每100毫秒调用一次tick方法。有时因错误而出问题。但是这些错误很难追查,主要是因为事情每秒被调用很多次。因此,当我在某些点添加调试日志条目时,日志变得过于拥挤而且不容易理解。

有没有办法在游戏持续运行时监控某些变量?

我尝试了jmx,但由于jmx的复杂性,设置jmx监视变量的时间很长。此外,当跟踪一个但我不知道要监视哪个变量时,这意味着我需要快速从变量切换到变量。

2 个答案:

答案 0 :(得分:1)

我认为Chronon DVR for Java或类似工具可以为您提供解决方案,您可以记录所有内容,然后进行分析,然后尝试发现导致问题的错误。

  

Chronon记录Java程序的整个执行并保存   到磁盘。录音可以随时播放,从而消除   那些'不可重复'的错误。

或者,您可以尝试将Eclipse调试器附加到运行远程的Java应用程序,请查看this guide以获取更多信息。

答案 1 :(得分:1)

这是游戏设计中的一个大问题,其中绘制被称为每秒30/60次。

我发现在屏幕上输出所有值有很大帮助,因为它不会保存以前的值,因此您可以轻松查看事情何时发生变化。

当值更改为不应该的范围时,您也可以添加断点,从而允许您进一步检查代码,例如

  1 if(val>1000){
  2     debugger;
  3 }