【问题标题】:Application Not Debugging in EclipseEclipse 中的应用程序无法调试
【发布时间】:2012-02-27 12:56:11
【问题描述】:

我试图在 Eclipse 中以调试模式运行我的 Java 应用程序,但它不工作。直到昨天我可以正确调试我的应用程序时都很好。我能够在服务器(Oracle OC4J Standalone Server 10.1.3)上正确运行我的应用程序。只有在调试时,它会持续很长时间,然后显示服务器超时错误。我尝试增加服务器超时,但没有用。

我还尝试删除服务器并再次创建它并重新启动 Eclipse。对此我有什么办法吗?

编辑:尝试将其作为远程 Java 应用程序运行时的跟踪跟踪

异常堆栈跟踪:

java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at org.eclipse.jdi.internal.connect.SocketTransportService$2.run(SocketTransportService.java:136)
at java.lang.Thread.run(Unknown Source)

【问题讨论】:

    标签: java debugging oc4j


    【解决方案1】:

    OC4J 的调试模式启用存在问题。有时我注意到启用它后(通过 opmn.xml)它会工作一段时间然后停止工作。我发现实际上一直在工作的是编辑 /bin/oc4j.cmd 文件并添加以下行:

    set JVMARGS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=9009,suspend=y,server=y
    

    然后在端口 9009 上从 Eclipse 启动远程调试会话

    【讨论】:

    • 因为我是新手,你能告诉我该怎么做吗?我们是否应该通过在末尾添加该行来修改 bin 文件中的命令脚本?我们如何在端口 9009 上启动调试会话?对不起我的无知。
    • 是的,在您的 OC4J 安装目录中修改该脚本文件并将该行添加到其中,然后重新启动服务器。完成后,在 Eclipse 中右键单击您的项目 -> 调试为... -> 调试配置 -> 双击左侧的“远程 Java 应用程序” -> 为端口设置 9009 -> 单击调试。当应用程序在服务器上执行时,它应该连接并显示何时到达某个调试断点。
    • 谢谢。我尝试过这个。它抛出以下错误:无法连接到远程虚拟机。连接被拒绝。
    • 我已将异常堆栈跟踪添加到我的问题中
    • 当你启动你的 OC4J 时,它是否说它正在以调试模式启动?
    猜你喜欢
    • 2015-09-29
    • 2018-10-01
    • 2015-01-26
    • 2018-08-09
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多