Обычно для присоединения отладчика к запущенному jvm вам нужно запустить jvm с такими аргументами, как:
> java -Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n
Теперь, если я хочу отладить процесс, который не был запущен в режиме отладки, что я могу сделать?
Эта ситуация возникает, когда производственная система (т.е. запущенная без отладочных аргументов) обнаруживает ошибку "случайный" (я использую термин "свободно" ). Поэтому я не могу перезапустить jvm с соответствующими аргументами, потому что никто не знает, как воспроизвести ошибку снова. Невозможно ли подключиться к JVM в этой ситуации?
Просто для пояснения невозможно использовать такие инструменты, как jdb, для подключения к уже запущенным JVM, если они не были запущены в режиме отладки
на странице руководства JVM
Еще один способ использования jdb - связать его с виртуальной машиной Java, которая уже работает. VM, которая должна быть отладка с помощью jdb должна быть запущена с следующие параметры: