Sri*_*ram 21 java eclipse debugging
我正在尝试使用Eclipse作为IDE在我的机器上调试一个简单的Java应用程序.当我尝试通过进入Debug Perspective调试应用程序时,我设置了一个断点并开始调试.在几秒钟内,出现以下弹出窗口:
Launching unicodeRead has encountered a problem. Cannot connect to VM.
转储到控制台的消息如下:
ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:708]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
Run Code Online (Sandbox Code Playgroud)
我该如何纠正?为什么会这样?
gon*_*ian 27
我刚遇到同样的问题.
昨天一切正常,现在没什么 - 和你给的一样错误.我发现网络管理员在此期间做了一些改变.防火墙有些东西.问题是Eclipse尝试在"localhost"(和一些随机端口)建立与JVM的连接.当我尝试ping localhost(或127.0.0.1)时,我得到了以下内容:
C:\Windows\system32>ping 127.0.0.1
Pinging 127.0.0.1 with 32 bytes of data:
PING: transmit failed. General failure.
PING: transmit failed. General failure.
PING: transmit failed. General failure.
PING: transmit failed. General failure.
Run Code Online (Sandbox Code Playgroud)
和
C:\Windows\system32>ping localhost
Ping request could not find host localhost. Please check the name and try again.
Run Code Online (Sandbox Code Playgroud)
它接缝,在某些情况下,DNS有望解决这个问题,如果防火墙阻止了对DNS的本地主机请求 - 东西中断.我不得不改变主机文件并删除以下行中的注释,所以我不再依赖DNS了:
# 127.0.0.1 localhost
# ::1 localhost
Run Code Online (Sandbox Code Playgroud)
虽然写入主机文件更改立即生效,但我认为有些进程锁定了这个并且在我的情况下重启是必要的.在那之后,一切都恢复了.
有同样的问题,但解决方案是使用选项运行应用程序-server=y,而不是使用-server=n.
前:
java -agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=localhost:5005
Run Code Online (Sandbox Code Playgroud)
后:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:5005
Run Code Online (Sandbox Code Playgroud)
我在使用 -X 格式时看到错误:
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000,suspend=n myapp
Run Code Online (Sandbox Code Playgroud)
当我切换到较新的格式时,错误消失了:
java -agentlib:jdwp=transport=dt_socket,server=y,address=4000,suspend=n myapp
Run Code Online (Sandbox Code Playgroud)