在Windows 8上调试Java 7调试不工作
我正在尝试使用Java1.7.0\u21调试Windows8上的小程序
我已将bleow添加到运行时参数中
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
当我尝试连接时,在本地和远程计算机上都出现“无法打开到主机的连接,端口5005”错误
如果我使用netstat-an,我看不到任何端口5005正在侦听。JVM似乎没有打开侦听调试端口
我已经将端口添加到防火墙,甚至完全禁用了防火墙,但没有区别
这里还有人试过在Windows8上调试Java7吗
谢谢
# 1 楼答案
我设置了环境变量JAVA_TOOL_OPTIONS=“-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8989”,正如它在bug中所建议的那样,它为我做了这件事(至少在Chrome中是这样)
sun bugs数据库中有许多与此相关的bug,似乎只有在java-8(b97)中才能解决 下面是到sun-bug的链接,它描述了完全相同的问题 这里是你可以download java-8的地方(b99是当前版本)
# 2 楼答案
我也有同样的问题,可以稍微解释一下这个问题。我还没有解决办法,这就是我来这里的原因,但这可能有助于找到答案
问题在于JRE启动的实际运行时。如果您查看Java控制面板中的可执行文件,它将是javaw。exe。因此,您要将调试标志添加到该文件中。如果您使用Process Explorer查看运行小程序的实际进程,则它是java。exe。我不知道javaw。exe只是在生成java。然后exe就死了,但标志永远不会传递到java上。exe
如果您转到控制面板中的Java选项卡,您过去可以在那里添加另一个运行时。当然,您仍然可以,但是在单击OK然后在下一个对话框选项卡上应用,然后单击返回Java选项卡之后,您添加的运行时将消失。我修改的所有设置都没有使浏览器插件获得传递的运行时参数,这使得无法在浏览器上下文中调试小程序
# 3 楼答案
真的。。。差不多了
因为我被卡住了,所以我很难做到这一点:用我自己的一个文件替换了JavaEXE,这迫使java进入调试模式
(请温柔一点,这不是高质量的dev:)
exeFile
以指向您的java目录stdoutRedirect
和stderrRedirect
-static-libgcc -static-libstdc++
假爪哇。exe