É possível conectar o depurador IntelliJ IDEA a um processo Java em execução? Se sim, como?
É possível conectar o depurador IntelliJ IDEA a um processo Java em execução? Se sim, como?
Respostas:
Sim! Aqui está como você o configura.
Crie uma configuração de execução remota:
A configuração acima fornece três campos somente leitura. Essas são opções que informam à JVM para abrir a porta 5005 para depuração remota ao executar seu aplicativo. Inclua o apropriado nas opções da JVM do aplicativo que você está depurando. Uma maneira de fazer isso seria assim:
export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
Mas isso depende de como você executa seu aplicativo. Se você não tiver certeza de qual dos três se aplica a você, comece com o primeiro e desça a lista até encontrar o que funciona.
Você pode alterar suspend=n
para suspend=y
forçar seu aplicativo a aguardar até conectar-se ao IntelliJ antes de iniciar. Isso é útil se o ponto de interrupção que você deseja atingir ocorrer na inicialização do aplicativo.
Inicie seu aplicativo como faria normalmente, no IntelliJ selecione a nova configuração e pressione 'Debug'.
O IntelliJ se conectará à JVM e iniciará a depuração remota.
Agora você pode depurar o aplicativo adicionando pontos de interrupção ao seu código, onde desejar. A saída do aplicativo ainda aparecerá onde quer que estivesse antes, mas seus pontos de interrupção serão atingidos no IntelliJ.
Remote
não esteja disponível na edição da comunidade? Estou usando a versão paga. Alguém com a edição da comunidade pode confirmar?
System.out.println
IntelliJ durante a depuração remota?
É possível, mas você precisa adicionar alguns sinalizadores da JVM ao iniciar seu aplicativo.
Você precisa adicionar a configuração de depuração remota: Editar configuração -> Remoto.
Em seguida, você encontrará nos parâmetros da janela de diálogo exibidos que você deve adicionar à execução do programa, como:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
Então, quando seu aplicativo for iniciado, você poderá anexar seu depurador. Se você deseja que seu aplicativo aguarde até que o depurador seja conectado, altere o sinalizador de suspensão para y ( suspend=y
)
no AndroidStudio ou ideia
adicionar "Opções da VM" Config
“-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005”
lembrar "endereço"
Também uso o aplicativo GUI do Tomcat (no meu caso: C: \ tomcat \ bin \ Tomcat9w.bin).
Vá para a guia Java :
Defina suas propriedades Java, por exemplo:
Máquina Virtual JAVA
C: \ Arquivos de programas \ Java \ jre-10.0.2 \ bin \ server \ jvm.dll
Máquina Virtual JAVA
C: \ tomcat \ bin \ bootstrap.jar; C: \ tomcat \ bin \ tomcat-juli.jar
Opções Java :
-Dcatalina.home = C: \ tomcat
-Dcatalina.base = C: \ tomcat
-Djava.io.tmpdir = C: \ tomcat \ temp
-Djava.util.logging.config.file = C: \ tomcat \ conf \ logging.properties
-agentlib: jdwp = transport = dt_socket, servidor = y, suspender = n, endereço = *: 8000
Opções do Java 9 :
--add-opens = java.base / java.lang = ALL-UNNAMED
--add-opens = java.base / java.io = ALL-UNNAMED
--add-opens = java.rmi / sun.rmi.transport = ALL-UNNAMED