2012-07-06 4 views
2

나는 외부 개미 작업을 호출하는 개미 스크립트가 있습니다외부 개미 작업을 디버그 할 수 있습니까?

<taskdef name="runStoriesAsEmbeddables" classname="org.jbehave.ant.RunStoriesAsEmbeddables"   
    classpathref="project.classpath" /> 

    <runStoriesAsEmbeddables includes="**/Ant*Stories.java" ignoreFailureInStories="true" 
    ignoreFailureInView="false" 
    systemProperties="story.path=.,qr.host=*,qr.port=*" generateViewAfterStories="true" /> 

을 그리고 나는 유닉스 상자에 JVM을 시작 -Xdebug를 사용하고 싶습니다. "java"작업에서 "jvmarg value ="- Xdebug ""를 사용하지만 java 외부 작업을 위해 여러 doc을 읽었습니다 ... 어떻게 사용하는지 모르겠습니다. 감사합니다.

답변

2

Ant를 실행하기 전에 ANT_OPTS 환경 변수를 설정하십시오. 당신의 Ant 스크립트를 실행

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

다음 디버거 포트 5005에 연결 : 자바 1.4의 경우

: 나중에 자바 1.5의 경우

export ANT_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y 

는 bash 쉘을 사용하는 가정.

+0

도움 주셔서 감사합니다. – XiaoYao

+0

도움 주셔서 감사합니다! 그것은 작동합니다! 다른 것을 언급하기 바란다 : 개미 스크립트 내에서''을 사용하여 프로그램을 시작할 수 있지만이 방법은 ''이 새로운 jvm을 시작하기 때문에이 클래스에 Main 메소드가 있어야한다는 것을 의미한다. 하지만 내 예제에서는 상속 된 개미 작업 만 있기 때문에 main 메서드는 포함되어 있지 않습니다. 이런 상황에서 -Xdebug를 사용할 수있는 유일한 기회는 ant를 실행하는 경우입니다. 차드가 언급 한 ANT_OPTS를 내보내고 개미가 실행될 때 ANT_OPTS를 사용해야합니다. – XiaoYao

관련 문제