加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java远程调试 – 如何让调试器保持监听?

发布时间:2020-12-15 01:08:36 所属栏目:Java 来源:网络整理
导读:我正在使用IntelliJ IDEA远程调试Java CLI程序,调试器正在监听连接. 这适用于第一次调用,但调试器在CLI程序断开连接后停止侦听.我希望调试器继续监听,因为将进行多个CLI调用(按顺序,不是并行),并且只有其中一个将触发我设置的断点. 这是我的客户端调试配置:

我正在使用IntelliJ IDEA远程调试Java CLI程序,调试器正在监听连接.

这适用于第一次调用,但调试器在CLI程序断开连接后停止侦听.我希望调试器继续监听,因为将进行多个CLI调用(按顺序,不是并行),并且只有其中一个将触发我设置的断点.

这是我的客户端调试配置:

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

可以让调试器保持监听吗?

最佳答案
好了,因为CLI程序终止,调试器也会停止.如果您仍希望继续多次运行CLI程序的调试器会话,那么您可以尝试如下,

编写一个包装程序,您可以从中多次调用CLI程序并调试包装程序而不是CLI程序.

像这样的东西,

public class Wrapper {
    public static void main(String[] args) {
        YourCLIProgram yp = new YourCLIProgram();
        // First Invocation
        String[] arg1 = { }; // Arguments required for your CLI program
        yp.main(arg1);
        // Second Invocation
        String[] arg2 = { }; // Arguments required for your CLI program
        yp.main(arg2);
        // Third Invocation
        String[] arg3 = { }; // Arguments required for your CLI program
        yp.main(arg3);
        // Fourth Invocation
        String[] arg4 = { }; // Arguments required for your CLI program
        yp.main(arg4);

    }
}

我希望它有效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读