Resolviendo el problema de soporte de java.io.Console dentro de Eclipse IDE
Los desarrolladores que utilizan Eclipse IDE a menudo encuentran la limitación de que System.console() regrese null al intentar administrar la entrada y salida basada en la consola. Esto se debe a que Eclipse ejecuta programas como procesos en segundo plano en lugar del entorno tradicional de nivel superior con una ventana de consola.
Solución: iniciar programas como procesos de nivel superior
Si bien no es posible forzar a Eclipse a ejecutar programas como procesos de nivel superior, existe una solución alternativa. Al eliminar el programa del entorno de Eclipse y configurar sus clases construidas en la ruta de clase JRE, se puede iniciar la ejecución externamente.
java -cp workspace\p1\bin;workspace\p2\bin foo.Main
Depuración paso a paso con el depurador remoto
Para la depuración paso a paso, cree un archivo por lotes de Windows (*.bat) e inícielo desde una consola cmd.exe. Este archivo por lotes iniciará la consola JVM en modo de depuración, lo que permitirá la depuración externa dentro del IDE de Eclipse.
1. Crear un archivo por lotes para ejecución externa
@ECHO OFF SET A_PORT=8787 SET A_DBG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%A_PORT%,server=y,suspend=y java.exe %A_DBG% -cp .\bin Main
Ejecute este archivo por lotes en una consola para iniciar la depuración.
2. Configurar el inicio de depuración remota de la aplicación Java
En Eclipse, cree una configuración de inicio de depuración remota de la aplicación Java:
3. Comience a depurar
Esta solución alternativa le permite depurar programas basados en consola dentro de Eclipse y al mismo tiempo preservar las características esenciales, como la depuración paso a paso y la inspección de variables.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3