Редкий бесконечный цикл в коде, не хочу ждать его повторения - PullRequest
3 голосов
/ 22 апреля 2011

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

1 Ответ

9 голосов
/ 22 апреля 2011

Простой способ получить некоторую базовую информацию из вашей работающей программы - запустить на ней jstack, она выведет следы стека всех потоков в вашем коде. Сделайте это несколько раз, и вы должны иметь хорошее представление о том, что не так.

Используйте jps, чтобы узнать идентификатор вашего JVM-лайка, а затем используйте jstack с этим идентификатором:

$ jps
10664 Jps
7141 org.eclipse.equinox.launcher_1.2.0.v20110124-0830.jar
$ jstack 7141

VisualVM предоставляет аналогичную информацию, если вы предпочитаете приложение с графическим интерфейсом.

...