2015-10-27 3 views
3

Я работаю над небольшой многопользовательской игрой, которая имеет метод тика, который выполняет всевозможные логические действия, такие как перемещение, создание и проверка игровых элементов.Мониторинг переменных запущенной программы?

Метод tick вызывается каждые 100 миллисекунд. Иногда все происходит неправильно из-за ошибки. Но эти ошибки трудно отследить главным образом потому, что вещи называются много раз в секунду. Поэтому, когда я добавляю запись журнала отладки в некоторых точках, журнал становится переполненным и не очень легким для понимания.

Есть ли способ контролировать определенные переменные во время игры?

Я пробовал jmx, но время установки jmx для контроля переменной довольно длительное из-за сложной природы jmx. Кроме того, при отслеживании, но я не знаю, какую переменную контролировать, это означает, что мне нужно быстро переключаться с переменной на переменную.

+0

Другое после входа в выходной файл не существует, не , Если вы не удалите отладочное приложение, в котором вы должны пройти через код. – jgr208

+1

Вы можете отлаживать свою программу и следить за изменением значений переменных в большинстве используемых IDE. – Mena

+0

Если вы хотите контролировать значения переменных во время выполнения, я не думаю, что есть такая опция, если приложение не запускается в режиме отладки. –

ответ

1

Это большая проблема с дизайном игры, где ничьи называются 30/60 раз в секунду.

Я обнаружил, что вывод всех значений на экране очень помог, поскольку он не сохраняет предыдущие значения, поэтому вы можете легко увидеть, когда что-то изменится. не

Вы можете также добавить контрольные точки, когда значение изменения в диапазоне не должно быть, таким образом, позволяя проверить код дальше, такие как

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

Подсказка о выдаче значений на экране была очень приятной.Я быстро написал jframe с jtable, где код может поместить значения переменных. Jtable обновляется каждые несколько секунд, в результате получается таблица, в которой отображаются мои переменные во время работы программы. С помощью 1 строки кода я обновляю переменную в таблице. Простые вещи хороши! –

+1

Снимок экрана как иллюстрация: http://i.imgur.com/UQkTOsb.jpg –

+0

Отличный мой совет помог :) Удачи! –

1

Я думаю, что Chronon DVR for Java или подобный инструмент может быть для вас решением, вы можете записывать все, а затем анализировать, пытаясь обнаружить ошибку, вызывающую проблему.

Chronon записывает все исполнение вашей Java-программы и сохраняет ее на диск. Записи могут воспроизводиться в любое время, таким образом, исключая те ошибки, которые не воспроизводятся.

В качестве альтернативы можно попробовать присоединить отладчик Eclipse, к удаленному запущенного приложения Java, обратите внимание на this guide для получения дополнительной информации.

+0

Это одна интересная часть программного обеспечения, я смотрел первое видео и много функций для поиска/отслеживания проблем долгое время после того, как это произошло. Мне нужно исследовать его немного больше, чтобы узнать, полезно ли это для моих ошибок. –

Смежные вопросы