如何调试部署在virtual box中的应用和Host中的源码OS

How to debug the application deployed in virtual box and source code in Host OS

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

我的工作安排是这样的:

1)安装了VMWare,里面有虚拟镜像,主要是AS,LinuxOS。 2) 主机 OS 是 windows 即。虚拟盒子安装在WindowsOS。 3) 主机安装Eclipse等工具OS;我们在这里检查代码、进行开发工作等

现在我有以下questions/doubts:

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

2) 由于 Web 应用程序部署在 Jboss AS 中(在 Virtual box 中又是 运行ning),我需要调试应用程序,即检查流程日食中的控制。由于 Eclipse 在主机 OS 中 运行ning,并且 Jboss 在虚拟框中 运行ning(其中部署了 .war),我怎么能能够看到控制流,即在 eclipse 中放置断点。

编辑:

当我 运行 虚拟框时,它会在启动期间自动 运行s Jboss AS,因此我不确定我是否可以控制提供任何特殊说明,因为 Jboss 在启动虚拟设备时自动启动(Cent OS、Jboss)

非常感谢任何帮助。

来宾 OS 中的任何 运行 都会将来宾 OS 视为本地主机 (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

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