Итак, у меня есть генетический алгоритм, работающий в netbeans, он работает около 5 часов и, похоже, вошел в бесконечный цикл. Можно ли как-то подключить к нему отладчик? или хотя бы понять, где это находится в коде? Я бы предпочел не сидеть без дела еще 5 часов, пока я жду, когда это произойдет снова.
Редкий бесконечный цикл в коде, не хочется ждать, пока он повторится
comment
здесь нет необходимости в коде, он просто спрашивает, может ли он подключить отладчик во время выполнения. проголосовал за вопрос.
- person user237419   schedule 22.04.2011
Ответы (1)
Простой способ получить основную информацию о работающей программе — запустить jstack
на нем, он напечатает трассировку стека всех потоков в вашем коде. Сделайте это несколько раз, и у вас должно быть хорошее представление о том, что не так.
Используйте jps
, чтобы узнать идентификатор вашего JVM нравится, а затем использует jstack
с этим идентификатором:
$ jps
10664 Jps
7141 org.eclipse.equinox.launcher_1.2.0.v20110124-0830.jar
$ jstack 7141
VisualVM предоставляет аналогичную информацию, если вы предпочитаете приложение с графическим интерфейсом.
person
Joachim Sauer
schedule
22.04.2011
Я попробую, нужно выяснить, что такое jstack :)
- person wfbarksdale; 22.04.2011
VisualVM (часть JDK) также может создавать трассировку стека.
- person a_horse_with_no_name; 22.04.2011
Да, наверное, проще. Я просто привык делать это с серверами, которые находятся за ограничительными брандмауэрами и соединениями с низкой пропускной способностью. В таких случаях с
jstack
намного проще обращаться ;-)
- person Joachim Sauer; 22.04.2011