2012-02-12 3 views
16

때때로 내가 작성하지 않은 코드를 검사 할 때 디버그 모드에서 이클립스를 시작하고 수치를 사용하여 프로그램을 이해합니다. 예를 들어, DB에서 검색된 n 개의 항목 인 경우 서비스에 n 개의 처리 된 항목이 있다는 것을 아는 것은 흥미로울 수 있습니다.중단 점 조회 디버깅 및 계산

루프를 사용하면 상황이 더 복잡해집니다. "while"루프에서는 실행 횟수가 정의되지 않고 대안이있는 경우 실행 흐름이 크게 바뀔 수 있습니다.

이 목적을 위해 코드 일부에 중단 점을 설정하고 도달 할 횟수를 계산합니다.

물론 매우 편리하지는 않습니다. 중단 점 적중 횟수를 세는 방법이 있는지 궁금합니다. 나는 이클립스가 고정 된 수의 히트 이후에 실행을 중지 할 수 있다는 것을 알고 있지만, 이클립스가 정상적인 실행 흐름에서 그들을 계산하도록하고 싶다.

나는 그것에 대해 당신의 의견을 듣고 싶습니다.

감사합니다.

답변

18

중단 점에 조건을 추가 할 수 있습니다. 간단한 일이 같은 것을 볼 수 있었다 :

System.err.println("Passing checkpoint"); 
return false; 

당신은 또한 자신의 정적 클래스를 호출하여 확장 할 수 있습니다 : 카운트 중단 점에 대한 대안으로

org.foo.StaticCounter.COUNTER++; 
System.err.println("Passing checkpoint " + org.foo.StaticCounter.COUNTER); 
return false; 
+0

영리합니다. 내 툴킷에는 항상 StaticCounter 클래스를 유지할 것입니다. 객체가 아닌 절차 코드를 디버깅하는 데 도움이 될 수 있습니다. 감사! –

1

을, 당신은 프로파일 링 도구를 사용할 수 있습니다, 등 그 중 하나는 here입니다.

+0

당신의 답은 맞다고 생각하지만, 브레이크 포인트 히트를 세고, 나는 공연을 분석하는 것보다 처리를 이해하는 것이 더 중요하다고 생각합니다. 몇 가지 코드를 몇 번이나 평가해야 하는지를 평가함으로써 직관을 확인합니다. 그러나 복잡한 비 객체 절차 코드에 사용합니다. 어쨌든 당신의 답변 주셔서 감사합니다 :) –