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