【问题标题】:How to debug the application deployed in virtual box and source code in Host OS如何调试部署在虚拟盒子中的应用程序和主机操作系统中的源代码
【发布时间】:2015-12-22 19:05:47
【问题描述】:

我不确定这是否是提出这个问题的正确论坛,如果不是,请重定向我。

我有这样的工作安排:

1) 安装了VMWare,里面有虚拟镜像,主要是AS,Linux OS。 2)主机操作系统是windows,即。虚拟盒子安装在 Windows 操作系统中。 3) 安装在主机操作系统中的 Eclipse 等工具;我们检查代码、进行开发工作等的地方。

现在我有以下问题/疑问:

1) 在我们的主机操作系统中,我们有 putty 应用程序,我们可以从中连接到 cent 操作系统(在虚拟机中运行);我们访问那个 127.0.0.1。这怎么可能?通常 127.0.0l.1 指的是“localhost”,为什么使用 127.0.0.1 可以连接到运行在 virtual box 中的 Guest OS?

2) 当 Web 应用程序部署在 Jboss AS 中(它又在 Virtual box 中运行)时,我需要调试应用程序,即检查 eclipse 中的控制流。由于 Eclipse 在主机操作系统中运行,而 Jboss 在 Virtual box(部署 .war 的地方)中运行,我如何才能看到控制流,即在 eclipse 中放置断点。

编辑:

当我运行虚拟机时,它会在启动期间自动运行 Jboss AS,因此我不确定我是否可以控制提供任何特殊指令,因为 Jboss 在启动虚拟设备时会自动启动(Cent操作系统,Jboss)

非常感谢任何帮助。

【问题讨论】:

    标签: java debugging web-applications virtualbox remote-debugging


    【解决方案1】:

    在来宾操作系统中运行的任何东西都会将来宾操作系统视为 localhost (127.0.0.1)。

    为了远程调试,您需要能够寻址 JVM 实例的调试器端口,这意味着您需要寻址 Guest OS。

    假设您已经可以访问 JBoss AS 托管的网站,您只需要在启动 JBoss 时打开调试端口,并从 Eclipse 中引用它,例如用这个参数启动 JBoss:

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

    其中GUESTOS 是 Guess OS 的 IP(不是 127.0.0.1),然后在 Eclipse Remove Java Application 调试配置中指定以下值:

    Host: GUESTOS
    Port: 8000
    

    端口号可以是任何你想要的。

    【讨论】:

    • 感谢您的回答,我已经编辑了我的问题 #1;有一些错误。如果时间允许,请查看并回复。
    • 您必须在 Cent OS 启动期间运行的脚本中提供 jdwp 值。
    • 非常感谢您的回复,我会按照说明进行调试。如果您有时间,能否请您重温一下问题 #1。非常感谢您的宝贵时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 2010-11-10
    • 2022-11-18
    • 2010-09-14
    相关资源
    最近更新 更多