首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ProcessBuilder调试

ProcessBuilder调试
EN

Stack Overflow用户
提问于 2012-02-09 11:37:06
回答 2查看 4.7K关注 0票数 7

我创建了一个可执行的jar,并使用来自另一个java程序的process builder来执行它。这是我的代码-

代码语言:javascript
运行
复制
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作为外部项目,但它仍然没有命中我的任何中断点。有没有办法为这样的事情设置一个调试环境?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-25 14:01:36

好的,我设法让它工作了。不幸的是,我找不到我在这里使用的示例项目,所以我将尽我所能地解释。考虑上面的这一行-

代码语言:javascript
运行
复制
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "src.jar");

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

代码语言:javascript
运行
复制
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的源代码中设置了几个断点,它成功了!

票数 8
EN

Stack Overflow用户

发布于 2012-02-09 11:51:04

Eclipse中调试jar包的方法:

  1. 在项目的引用库中选择jar。
  2. 在java源代码附件中,可以指定源代码的位置。
  3. 从项目中调用jar文件的某些类。
  4. 添加断点并调试项目。

在本例中,jar文件和您的项目在同一进程中运行。

但是当你通过ProcessBuilder运行jar文件时,jar文件是在另一个独立于项目的进程中运行的,当然也独立于eclipse,即jar文件的运行方式与您在命令行中输入'java -jar jarfile‘的方式相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9205063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档