2012-05-28 3 views
0

안녕하세요 : 10,000 개의 Junit 테스트 케이스가있는 애플리케이션이 있습니다. 지난 주 새 코드를 추가 할 때 많은 Java 힙 메모리 단위 테스트 사례 오류가 있음을 알았습니다. 1) 한 가지 방법은 내가 추가 한 코드를 다시 확인하는 것입니다. 2) 단위 테스트 케이스에서 JVM을 연결 한 다음 힙 덤프를받습니다. 누군가 2) 사건에서 어떻게해야하는지 힌트를 줄 수 있습니까?mvn 테스트 중에 JVM을 연결하십시오.

나는 windows, maven, J2SE를 사용한다.

기본적으로 나는 Java 명령에 어떤 종류의 인수를 줄 것인지 알고 있지만, 그 인수를 pom xml에 넣지는 않습니다.

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.4.2</version> 
</plugin> 
+0

(PID를 얻기위한) JPS와 jmap는 설명서를 참조하십시오. JVisualVM을 실행하면 시스템에서 실행중인 모든 Java 프로세스가 나열됩니다. 다른 컴퓨터에서 테스트를 실행하는 경우 각각의 Java 프로세스를 연결할 수도 있습니다. – Seshagiri

답변

1

당신은 JVM 속성 -XX 설정할 수 있습니다 : -HeapDumpOnOutOfMemoryError을 (http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html)과 확실한으로 설정 (http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html#argLine)
또는 jmap을 사용하여 필요에 따라 프로세스 메모리를 덤프 할 수 있습니다.
당신은 당신의 자바 프로세스를 프로파일 JVisualVM는 JDK와 함께 제공되는 사용하여 JVM에 연결할 수 있습니다
http://docs.oracle.com/javase/6/docs/technotes/tools/share/jps.html
http://docs.oracle.com/javase/6/docs/technotes/tools/share/jmap.html

관련 문제