解决 Eclipse IDE 中的 java.io.Console 支持问题
使用 Eclipse IDE 的开发人员经常会遇到 System.console() 返回的限制null 尝试管理基于控制台的输入和输出时。这是因为 Eclipse 将程序作为后台进程执行,而不是在具有控制台窗口的传统顶级环境中执行。
解决方案:将程序作为顶级进程启动
虽然不可能强制 Eclipse 将程序作为顶级进程运行,但存在一种解决方法。通过从 Eclipse 环境中删除程序并在 JRE 类路径中设置其构建的类,可以从外部启动执行。
java -cp workspace\p1\bin;workspace\p2\bin foo.Main
使用远程调试器进行逐步调试
要进行逐步调试,请创建 Windows 批处理文件 (*.bat) 并从 cmd.exe 控制台启动它。此批处理文件将以调试模式启动 JVM 控制台,从而允许在 Eclipse IDE 中进行外部调试。
1.创建用于外部执行的批处理文件
@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
在控制台中运行此批处理文件以开始调试。
2.配置远程 Java 应用程序调试启动
在 Eclipse 中,创建远程 Java 应用程序调试启动配置:
3.开始调试
此解决方法允许您在 Eclipse 中调试基于控制台的程序,同时保留逐步调试和变量检查等基本功能。
以上是如何在 Eclipse IDE 中调试基于控制台的 Java 程序?的详细内容。更多信息请关注PHP中文网其他相关文章!