gpt4 book ai didi

java - 如何调试部署在虚拟盒中的应用程序和主机操作系统中的源代码

转载 作者:行者123 更新时间:2023-12-01 10:40:42 26 4
gpt4 key购买 nike

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

我的工作安排是这样的:

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

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

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

2) 当 Web 应用程序部署在 Jboss AS 中(再次在虚拟框中运行)时,我需要调试应用程序,即检查 Eclipse 中的控制流。由于 Eclipse 在主机操作系统中运行,并且 Jboss 在虚拟框中运行(部署了 .war),我如何才能看到控制流,即在 eclipse 中放置断点。

编辑:

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

非常感谢任何帮助。

最佳答案

在 guest 操作系统中运行的任何内容都会将 guest 操作系统视为本地主机 (127.0.0.1)。

为了远程调试,您需要能够寻址 JVM 实例的调试器端口,这意味着您需要寻址 guest 操作系统。

假设您已经可以访问 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 删除 Java 应用程序调试配置中指定以下值:

Host: GUESTOS
Port: 8000

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

关于java - 如何调试部署在虚拟盒中的应用程序和主机操作系统中的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34422768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com