我正在尝试使用 Java 1.7.0_21 在 Windows 8 上调试小程序。
我已经将 bleow 添加到运行时参数。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
当我尝试连接时,我在本地和远程机器上都收到“无法在端口 5005 上打开到主机的连接”错误。
如果我执行 netstat -an,我看不到任何端口 5005 正在监听。看来 JVM 没有打开监听调试端口。
我已经把端口添加到防火墙,甚至完全关闭了防火墙,但没有区别。
这里有其他人试过在 Windows 8 上调试 Java 7 吗?
谢谢
最佳答案
我遇到了同样的问题,可以稍微解释一下这个问题。我还没有解决方案,这就是我来这里的原因,但这可能有助于找到答案。
问题出在 JRE 启动的实际运行时。如果您查看 Java 控制面板中的可执行文件,它将是 javaw.exe。因此,您要向其中添加调试标志。如果您使用 Process Explorer 查看运行您的小程序的实际进程,它就是 java.exe。我不知道 javaw.exe 是否只是生成 java.exe 然后死了还是什么,但标志永远不会传递到 java.exe。
如果您转到控制面板中的 Java 选项卡,您过去可以在那里添加另一个运行时。好吧,您仍然可以,但是在单击确定然后在下一个对话框选项卡上应用,然后单击回到 Java 选项卡后,您添加的运行时将消失。我修改的所有设置都没有使浏览器插件获得传递的运行时参数,这使得无法在浏览器上下文中调试小程序。
关于Windows 8 上的 Java 7 调试不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16315892/