【问题标题】:Java Remote Debugging With No Main Method没有 main 方法的 Java 远程调试
【发布时间】:2011-05-18 16:53:58
【问题描述】:

我正在为销售点系统开发 Java 扩展类。 POS软件调用我的Java类,所以我写的代码没有main方法。此外,POS 软件必须在另一个状态的远程 PC 上运行,但我可以完全访问它。

如何设置 Eclipse 以使用运行 POS 软件的远程 PC 运行和调试我的 Java 代码?我在 Eclipse 设置中四处寻找并进行了一些谷歌搜索,但我仍然不确定这是否可能。

使用 Eclipse Helios,编写目标版本为 115 的 Java 代码,但大多数 POS 系统至少运行 1.5 倍。

谢谢。

【问题讨论】:

  • 如何正常运行系统?你启动POS系统吗?您如何在该系统中加载您的课程?

标签: java eclipse remote-debugging


【解决方案1】:

在远程进程(POS 软件)的 JVM 参数中添加类似于以下内容的内容:

-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n

这将启用端口 8000 上的远程调试。要通过 Eclipse 连接到此进程,请选择 Run 菜单并选择 Debug Configurations...。在左侧窗格中,选择Remote Java Application 并单击列表上方的New launch configuration 按钮。需要注意的重要设置是HostPort 字段。主机值必须与远程进程的主机名相匹配,并且端口应与您在 JVM 设置中配置的相匹配。您可能还需要在Source 选项卡上添加条目,以确保所有源代码都可用于单步执行。

【讨论】:

  • 这让我走上了正轨。 POS 软件使用批处理文件来启动他们的 java vm。我刚刚将远程调试参数添加到批处理文件中的命令行参数中。我无法通过 Internet 进行调试,因为他们使用的是路由器,而我无权访问它,因此我可以正确转发端口。我只需要在远程机器上安装 Eclipse 并通过远程桌面完成我的工作。
【解决方案2】:

我认为如果不为 POS 编写模块,您就无法远程调试 POS。

我也不知道你的应用程序是什么,但是像这样的自动测试就像自动夜间构建一样好,它们不足以进行认证或最终用户测试。

一些 POS 为您的模型提供“他们的仿真”工具,如果您有这些,您可以使用它。

但最后,您应该只实现一个 JUnit(包含在 Eclipse 中)或构建一个 main 方法来进行第一级测试。这将消除一些测试,但最后,您需要手动使用 POS 进行测试。

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 1970-01-01
    • 2014-04-21
    • 2013-05-16
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    相关资源
    最近更新 更多