ProcessBuilder调试 [英] ProcessBuilder debugging

查看:45
本文介绍了ProcessBuilder调试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个可执行 jar 并使用另一个 java 程序中的进程构建器执行它.这是我的代码 -

I created an executable jar and executed it using process builder from another java program. Here's my code -

public class SomeClass {
public static void main(String[] args) {
    Process p = null;
    ProcessBuilder pb = new ProcessBuilder("java", "-jar", "src.jar");
    pb.directory(new File("/Users/vivek/servers/azkaban-0.10/TestApp/src"));
    try {
        p = pb.start();
    } catch(Exception ex) {
        ex.printStackTrace();
    }
}

}

我现在正在尝试从 Eclipse 调试 src.jar.我在调试配置中提供了项目 src 作为外部项目,但它仍然没有遇到我的任何断点.有没有办法为这样的事情设置调试环境?

I'm trying to now debug the src.jar from eclipse. I provided the project src as external project in my debug configuration, but it still never hits any of my break points. Is there a way to set up a debug environment for something like this?

推荐答案

好的,所以我设法让它发挥作用.不幸的是,我找不到我用于此的示例项目,所以我会尽力解释.考虑上面的这一行 -

Ok, so I managed to get this to work. Unfortunately, I cannot find the sample project I used for this, so I'll try to explain the best I can. Consider this line from above -

ProcessBuilder pb = new ProcessBuilder("java", "-jar", "src.jar");

我需要做的就是将 Xdebug 作为参数添加到此 -

All I needed to do was add Xdebug as a parameter to this -

ProcessBuilder pb = new ProcessBuilder("java", "-jar", "-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005", "src.jar");

然后我在 eclipse 中创建了一个调试环境,将端口设置为 5005 并在 jar 的源代码中设置了几个断点,它就成功了!

Then I created a debug environment in eclipse, set the port as 5005 and set a few breakpoints in the jar's source code and it worked!

这篇关于ProcessBuilder调试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆