Aplicación java del servidor de depuración remota IDEA

Intente asegurarse de que el código utilizado localmente sea ligeramente diferente del paquete war/jar, de lo contrario no podrá ingresar el punto de interrupción

Colocación de IDEAS

inserte la descripción de la imagen aquí
Establecer dirección de host y puerto de depuración

Configuración de inicio del paquete jar (para garantizar puertos consistentes)

java -jar -agentlib:jdwp=transporte=dt_socket,servidor=y,suspender=n,dirección=8089 demostración.jar

El paquete war usa tomcat

Si es Windows, configure catalina.bat en el directorio tomcat bin

rem Configure JAVA 9 specific start-up parameters
set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.lang=ALL-UNNAMED"
set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.base/java.io=ALL-UNNAMED"
set "JDK_JAVA_OPTIONS=%JDK_JAVA_OPTIONS% --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"
rem 添加
set CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8089" 

Si es Linux, configure catalina.sh en el directorio tomcat bin, la configuración es la siguiente

# Add the JAVA 9 specific start-up parameters required by Tomcat
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.lang=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.base/java.io=ALL-UNNAMED"
JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"
CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8089" #添加
export JDK_JAVA_OPTIONS
export CATALINA_PID=/www/server/tomcatHSOA/apache-tomcat-9.0.21/logss/tomcat.pid #添加

Tenga en cuenta que se debe agregar CATALINA_PID, porque si no se agrega, el puerto de socket abierto no se cerrará normalmente cuando se cierre el proyecto, y se debe configurar tomcat.pid con permisos, de lo contrario no se cerrará automáticamente. ventanas es similar

ilustrar

Estos parámetros se utilizan para configurar Java Virtual Machine (JVM) para admitir la depuración remota. A continuación se muestra una explicación de cada parámetro:

-agentlib:jdwp: esta es la opción para habilitar la biblioteca del agente de depuración de Java. jdwp significa Java Debug Wire Protocol, que es un protocolo para la comunicación entre depuradores y aplicaciones de Java.
transport=dt_socket: Esto es para especificar el método de transporte para la comunicación entre el depurador y la aplicación que se está depurando mediante sockets. dt_socket significa usar socket para transmisión.
server=y: Esto es para especificar que la JVM se ejecute como un servidor de depuración. Esto significa que la JVM esperará la solicitud de conexión del depurador.
suspend=n: Esto es para especificar si la JVM se suspenderá y esperará la solicitud de conexión del depurador cuando se inicie. n significa que no hay pausa, la JVM continuará ejecutándose normalmente.
address=8089: Esto especifica la dirección y el puerto donde se conecta el depurador. En este ejemplo, el depurador se conectará al puerto local 8089.

Al usar estos parámetros, puede habilitar la depuración remota en la JVM y configurar cómo y a qué puerto se conecta el depurador. De esta forma, puede utilizar IntelliJ IDEA u otras herramientas que admitan la depuración remota para conectarse a la JVM y realizar operaciones de depuración remota.

Precauciones

No lo use en un entorno de producción.Después de la depuración, recuerde desactivar la configuración agregada porque no es segura o configure el nombre de usuario y la contraseña: de la siguiente manera pero no lo he probado

要设置远程调试的用户名和密码,您可以使用Java的JPDA_ADDRESS环境变量来实现。请按照以下步骤进行操作:

打开Tomcat的启动脚本文件(通常是catalina.sh或catalina.bat)。

在文件的顶部,找到设置Java选项的地方。

在设置Java选项的地方,添加以下行:

export JPDA_ADDRESS=8089
export JPDA_TRANSPORT=dt_socket
export JPDA_SUSPEND=n
export JPDA_OPTS="-Djava.security.debug=all -Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.config"
创建一个名为jaas.config的文件,并将以下内容添加到文件中:

tomcat {
    
    
    org.apache.catalina.realm.JAASMemoryLoginModule required
    debug=true
    user=test
    password=test;
};
将user和password的值设置为您希望使用的实际用户名和密码。

保存文件并重新启动Tomcat。

现在,您可以使用IntelliJ IDEA或其他调试工具连接到Tomcat的8089端口,并提供正确的用户名和密码进行身份验证。

Supongo que te gusta

Origin blog.csdn.net/weixin_43051544/article/details/131749562
Recomendado
Clasificación