2008-11-14 6 views
5

IDE (이 경우 Eclipse) 내에 Java 프로그램이 있다고 가정합니다. 이제 프로그램을 실행하고 어떤 시점에서 프로그램을 종료한다고 가정 해 봅시다.Java 프로그램의 특정 실행에 참여한 코드 행을 식별하는 방법은 무엇입니까?

라인이 적어도 한 번 실행하고있는 사람은하지 않았다 결정하는 편리 방법이있다 (예를 들어, 예외 처리 또는 조건에 도달하지 않은 그?)

이 정보를 수집하는 수동 방법 것 끊임없이 디버깅을 수행하고 적어도 한 번 이상 통과 한 행 세트를 유지해야합니다. 그러나 이미 그 도구 또는 프로파일 러가 있습니까?

편집 : 설명을 위해 :이 정보에 프로그래밍 방식으로 액세스 할 수 있어야하며 JUnit 테스트에서 액세스 할 필요가 없습니다.

답변

3

. 이를 측정하는 도구가 몇 가지 있는데, 그 중 일부는 Eclipse에 통합되어 있습니다. 나는 jcoverage을 사용했으며 작동합니다 (무료 평가판 기간이 있으며 그 후에는 구매해야합니다). 나는 그것을 사용하지 않았지만 Coverlipse을 시도 할 수도 있습니다.

+0

시스템의 모든 단위 테스트에서 영향을받는 코드 조합을 의미하지 않습니까? JUnit을 통해서가 아니라 특정 실행 결과를 찾고 있습니다. 그러나 나는 그것을 조사 할 것이다. 감사 ! – Uri

+0

용어 커버리지는 일반적으로 테스트와 함께 사용되지만 찾고있는 것입니다. (특정 프로그램 실행에 대한 코드 적용 범위) – Touko

2

질문을 올바르게 이해하면 표준 스택 트레이스 데이터 이상을 원하지만 log4j 디버그 문과 함께 코드를 수동으로 계측하고 싶지는 않습니다.

내가 생각할 수있는 유일한 점은 일종의 바이트 코드 추적을 추가하는 것입니다. Instrumenting Java bytecode을 참조하십시오. 기사에서는 Cobertura을 사용하지만 사용하지는 않았지만 필요한 것 같습니다 ...