В этом разделе попробуйте удаленную отладку Java и запишите простые вещи, чтобы начать. Даже если это запись!
Напишите простую программу, введите ее в банку и бросьте на удаленный сервер, чтобы запустить, моделируя, что работает удаленный сервер. Возьмите в качестве примера программу Java Calling Shell Script Script. Исходный код заключается в следующем (следующая программа является простым примером кода, не заботитесь о спецификации кода):
Импорт java.io.inputStream; открытый класс javashell {public static void main (string [] args) бросает исключение {try {string grant = "chmod u+x отправить Job.sh"; Время выполнения времени выполнения = runtime.getRuntime (); Process GrantProc = runtime.exec (грант); int resultCode = grantproc.waitfor (); System.out.println (ResultCode); grantproc = runtime.exec ("./ отправить Job.sh"); resultCode = GrantProc.WaitFor (); System.out.println (ResultCode); InputStream in = GrantProc.getInputStream (); Byte [] buffer = новый байт [1024]; int code; while ((code = in.read (buffer, 0, buffer.length))! = -1) {system.out.print (new String (buffer, 0, code)); } / ** * Мертвое цикл предотвращает выход отладчика до его подключения (проверьте функцию параметра приостановки) * / system.out.println ("Shell Script был выполнен, и задача временной печати начнется!"); int i = 0; while (true) {thread.sleep (2000); System.out.println («Это" th " + (++ i) +" второй цикл! ");}} Catch (Exception e) {System.out.println (" Это экспрессия! ");} Наконец {}}}После того, как он совершил его на удаленный сервер, запустите его:
Скопируйте код следующим образом: java -xdebug -xnoagent -djava.compiler = none -xrunjdwp: transport = dt_socket, address = 9999, server = y, y -jar javashell.jar
Программа будет заблокирована и ждать подключения отладчика. В настоящее время мы можем использовать Eclipse для удаленной отладки:
Нажмите отладчик, чтобы подключить и отслеживать исходный код для запуска:
Есть вывод удаленно, доказывая, что удаленная программа отслеживает выполнение отладчика:
На данный момент мы завершаем процесс отладки. Далее, попробуйте случай, когда параметр приостановка = n:
Скопируйте код следующим образом: java -xdebug -xnoagent -djava.compiler = none -xrunjdwp: transport = dt_socket, address = 9999, server = y, n -jar javashell.jar
В настоящее время вы обнаружите, что удаленная программа не блокирует и не ждет подключения отладчика отладчика, но программа нормально выполняется:
В настоящее время мы можем использовать удаленный отладчик Eclipse для удаленной отладки, но следует отметить, что наша локальная точка останова может быть достигнута только в удаленном коде, который не был выполнен или выполняется код. Например, мы можем разбить точки в мертвой петле (мертвый цикл - это код, который выполняется все время):
Затем начните отладчик:
Оставайся в точке останова. Затем следуйте по позиции точки останова, чтобы продолжить нашу отладку. На этом этапе вы должны знать роль параметра приостановки:
В параметрах отладки JVM существует параметр, который называется «Survend», который имеет два значения, «y» или «n».
Если вы хотите отладить в начале, установите параметр на «Suprend = y», чтобы Eclipse удаленно подключится к приложениям Java.
Если вы хотите сначала запустить проект, а затем подключить Eclipse, вы можете установить параметр на «SUSADEND = N», чтобы приложение Java будет работать нормально, а затем Eclipse запустит удаленное соединение.
Больше деталей параметров:
-Xdebug Включение отладки.
-Xnoagent Отключите по умолчанию sun.tools.debug отладчик.
-Djava.compiler = Нет запрещает загрузку компилятора JIT.
-Xrunjdwp Нагружает пример выполнения справочного выполнения JPDA JDWP.
Транспорт используется для общения между отладчиками и процессами, используемыми виртуальными машинами.
DT_Socket Transfer.
DT_SHMEM Общая передача памяти, только Windows.
Server = y/n, необходимо ли виртуальная машина выполнять как сервер отладки.
Адрес = 3999 Номер порта сервера отладки, номер порта, используемый клиентом для подключения к серверу.
Приостановка = y/n начать виртуальную машину после того, как клиент отладки установит соединение.
Эклипс отладка клавиши ярлыков:
F5 шаг в
F6 Шаг
F7 вышел
F8 продолжите к следующей точке перерыва
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.