如何调试ProcessBuilder启动的Java Process

时间:2014-08-15 06:14:00

标签: java eclipse

有两个Java文件。一个是A,另一个是B.A和B都有主要功能。然后我运行A,在A中,我通过ProcessBuilder.start()开始一个B进程。

我可以调试A的代码。但是,我无法调试B.即使我在B的main函数中添加断点,Eclipse也不会停在B的那一行。到目前为止,我能想到的唯一方法是模拟A中的参数,直接调用B的主函数。但这不太方便。有没有简单的&直接的方式?

提前感谢任何建议。

1 个答案:

答案 0 :(得分:0)

不要使用流程构建器启动不同的流程;如果你需要A和B的main方法同时运行,你可以使用线程。

public class A {
    public static void main(String[] args) {
        Thread bThread = new Thread(new Runnable() {
            public void run() {
                B.main(args);
            }
        });
        bThread.start();
        // Doing something for A
    }
}

public class B {
    public static void main(String[] args) {
        // Doing something for B
    }
}

启动Java的单独进程通常是个坏主意,因为您可以在同一进程中运行所有内容。有限的用例仍然适用但由于您还没有提供启动流程的理由,我认为您还不知道能否使用Threads。