首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用IntelliJ调试Java进程-连接到套接字,但不连接到目标VM

使用IntelliJ调试Java进程-连接到套接字,但不连接到目标VM
EN

Stack Overflow用户
提问于 2011-07-12 08:06:15
回答 1查看 30.6K关注 0票数 2

现在解决了-看问题的结束。

我正在尝试用IntelliJ Community的调试器调试Java。套接字正在监听--但是当我试图连接调试过程时,显示了以下‘连接到目标VM,地址:':8003',传输:’套接字‘--它永远不会连接到VM,而且我无法调试。

我已经搬到了Windows 7 64位PC上--在我的旧XP机器上,可以连接和调试这个Java进程(这是我构建和维护的一个应用程序)。

它不会失败的标准“连接拒绝:连接”错误,您将得到如果没有进程连接。Netstat还显示程序运行时端口正在监听。

TCP 0.0.0.0:8003 :0监听

为应用程序-Xrunjdwp:transport=dt_socket、server=y、suspend=n、address=8003 -Xdebug调试args

如果我试图在远程计算机上从IntelliJ运行调试会话,则可以连接到本地计算机上运行的进程,并进行调试。如果我在远程计算机上运行Java应用程序,并在本地计算机上使用IntelliJ,我可以进行调试。只有当我在同一台机器上运行和调试时,它才会失败--不幸的是,我几乎一直都需要这样做。

我发现的唯一类似的问题来自2004年,与带有空格的文件路径有关,是NetBeans,而不是IntelliJ。我已经重建和重新运行我的应用程序,确保没有空间或下划线在道路上,没有joy。

我的intelliJ调试设置是在套接字上调试本地机器,附加模式端口8003 -对不起,作为一个新用户,我不能附加图像。

我尝试过的其他事情:

使用共享内存而不是套接字传输versions

  • Debugging (而不是套接字传输

  • )改变JRE

  • --我没有重新安装IntelliJ --我正在使用与我的开发人员(10.5 IC 107-105)相同的构建,他们没有这个problem.

  • Changing调试进程监听的端口(根据netstat,从8003到其他各种未使用)

  • ,我尝试使用PC名称、IP地址和'localhost‘在调试设置中引用PC。

卡住了。任何帮助都很感激。

谢谢史蒂夫

已解决

嗯,一天没能解决的话,我20分钟后就能找到答案了。一个无效的JNI签名字符,只有在调试时才会找到。调试时添加此arg解决问题。

-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6547438

谢谢你的帮助。仍然不知道为什么它会在远程调试时工作,但之前不在本地调试。

EN

回答 1

Stack Overflow用户

发布于 2011-07-12 08:18:37

这听起来像是一个奇怪的防火墙问题。

看来,您应该能够尝试telnet localhost 8003,但它应该失败。这意味着没有任何东西可以连接到该端口上的应用程序。

编辑:如果共享内存也能正常工作,并且不能通过telnet连接,那么运行应用程序的方式就会出现问题。

如果应用程序没有运行,您将得到这种类型的错误。

您能尝试从IntelliJ调试一个简单的程序吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6661166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档