Cómo implementar la depuración remota del código Java
1.1 Depuración de conexión activa
Primero, debe configurar el script de inicio del servicio remoto:
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp: transport=dt_socket, server= y, suspend=n, dirección=8000"
Si desea iniciar un paquete jar, ejecute el siguiente comando:
java -Xdebug -Xrunjdwp: transporte =dt_socket, servidor=y, suspender=n, dirección=8000 -jar test.jar
Entre ellos, -Xdebug se usa para notificar a la JVM que funcione en modo DEBUG, -Xrunjdwp se utiliza para notificar a la JVM que utilice (protocolo de línea de depuración de Java) para ejecutar el entorno de depuración.
transport es un modo de conexión que escucha en un puerto de socket (también puede disfrutar del modo de memoria con dt_shmem***, pero solo en máquinas con Windows, y el proveedor de servicios y el depurador solo pueden estar en la misma máquina ).
server=y indica el servidor de depuración actual, =n indica el cliente de depuración actual. suspender = n significa que no hay interrupción al inicio (si se interrumpe al inicio, generalmente se usa para depurar problemas que no se pueden iniciar).
address=8000 significa que el puerto de escucha local es 8000.
Después de que el servicio remoto (tomcat/jboss) se haya iniciado correctamente, el Eclipse local debe establecer un punto de interrupción en la ubicación de depuración.
Luego, haga clic derecho en el proyecto para iniciar la depuración remota. : Depurar as-gt; Configuración de depuración-gt; aplicación Java remota
El host es la IP del host remoto, el puerto es el puerto de escucha para la depuración remota, el tipo de conexión es: estándar (conexión de socket),
Haga clic para depurar, luego punto de interrupción, el servicio remoto que se ejecuta hasta el punto de interrupción se interrumpirá localmente y luego se depurará.
1.2 Depuración de conexión pasiva
Primero, debe configurar el monitoreo para Eclipse, como la depuración de conexión activa Imagen de configuración de Eclipse, Selección del tipo de conexión:
Estándar ( Socket Listen), configure el puerto de escucha local, por ejemplo, el valor predeterminado es 8000. Haga clic en Depurar para comenzar a esperar la depuración de la conexión remota. Haga clic en Depurar para comenzar a esperar la depuración de la conexión remota.
Luego configure el script de inicio del servicio remoto:
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp: transport=dt_socket, dirección=127.0.0.1:8000, suspend=y" p >
Si desea depurar el paquete jar, ejecute el siguiente comando:
java -Xdebug -Xrunjdwp: transport=dt_socket, dirección=127.0.0.1:8000, suspend=y -jar remoting-debug.jar
El significado del parámetro es el mismo que el de depuración de conexión activa
dirección=ip:puerto, la ip debe cambiarse a la IP externa local.
De esta manera, el proyecto remoto se conectará al local cuando se inicie, lo cual es conveniente para depurar el problema de que el proyecto no se puede iniciar.