Java应用程序的远程调试

仅在测试或生产服务器上可能不会发生任何问题。 在本地计算机上可能无法复制。 在这种情况下,您希望将IDE连接到远程测试(或生产)服务器并进行远程调试。

可以通过以下两个简单步骤对Java应用程序进行远程调试:

  1. 将远程调试参数传递给JVM。
  2. 配置IDE。

让我们回顾本文中的这两个步骤。

步骤1:将远程调试参数传递给JVM

通常,您将像这样启动Java应用程序:

<<start:code>>
java -jar app.jar
<<end:code>>

要启用远程调试,您需要传递以下附加参数:

<<start:code>>
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar app.jar
<<end:code>>
  • -Xdebug :启用JVM进行远程调试。
  • -Xrunjdwp :指定连接详细信息:
  • transport :配置应用程序和调试器之间的传输。 它可以具有2个值: dt_socketshmemdt_socket指示套接字接口。 shmem将通过共享内存区域指示应用程序和调试器接口,这仅在应用程序和调试器都在同一台计算机上运行时才有用。
  • address :应用程序将打开该端口以进行远程调试。
  • suspend :它可以有两个值。 y表示应用程序将被挂起,直到将任何远程调试器连接到该应用程序为止。 n表示即使没有远程调试器连接到应用程序,应用程序也不会被挂起。
还请参见:

步骤2:配置IDE

以下是配置Eclipse IDE以连接到远程应用程序的步骤:

  1. 单击调试菜单图标。

    远程调试Java 1

    图1:单击“调试”菜单图标

  2. 单击“调试配置...”菜单项。
  3. 在左侧面板中,选择“远程Java应用程序”。

    远程调试Java 2

    图2:选择“远程Java应用程序”

  4. 按下“新建”按钮。

    远程调试Java 3

    图3:单击“新建”按钮

  5. 现在,您需要输入项目和连接详细信息:
    一个。 在“名称”字段中,您可以输入任何名称。 示例: myapp-remotedebugging
    b。 在“项目”字段中,选择要调试的应用程序源代码。
    C。 在“主机”字段中,输入运行应用程序的hostname
    d。 在“端口”字段中,输入您在步骤1中指定的端口号。 根据此示例,它将为“ 8000”。

    远程调试Java 4

    图4:输入项目和连接详细信息

  6. 输入所有这些详细信息后,单击“调试”按钮。 而已。 现在您已经准备好进行远程调试。

祝您“调试愉快”。 希望那不是那么痛苦。

警告 :不要将远程调试JVM参数始终保持打开状态,因为它具有以下缺点:

  • 远程调试模式禁用了JVM对应用程序所做的一些优化,以优化性能。 所有这些优化都将丢失。
  • 远程调试打开了一个端口。 这是一种安全风险,因为任何可以访问服务器的人都可以启动远程调试。

翻译自: https://jaxenter.com/remote-debugging-java-applications-151466.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值