변수가 값을 변경할 때 감지하는 방법


79

변수가 값을 변경할 때 어떻게 쉽게 감지 할 수 있습니까? 지정된 변수가 값을 변경할 때마다 프로그램 실행이 디버거에서 중단되기를 원합니다. 지금은 Eclipse의 디버거를 사용하고 있습니다.

답변:


122

클래스 또는 인스턴스 변수의 경우

  1. 개요보기에서 변수를 마우스 오른쪽 버튼으로 클릭합니다.
  2. "Toggle Watchpoint"를 선택합니다.
  3. 그런 다음 breapkoints보기에서 결과 항목을 마우스 오른쪽 버튼으로 클릭 할 수 있습니다.
  4. "중단 점 속성"을 선택합니다.
  5. "필드 액세스"를 선택 취소합니다.

2
프로그램의 변수가 특정 값과 같을 때 중단 점을 삽입하는 방법은 무엇입니까?
Jude Desir

1
@JudeDesir 나는 기능이 어디에도 존재하지 않는다고 확신합니다. 그것은 엄청나게 나쁜 성능을 유발할 것입니다.
Michael Borgwardt

메서드 내에서 지역 변수에 대한 유사한 메서드가 있습니까?
Tim Foster 19 년

나는 요즘 이클립스를 사용하지 않지만 그것이 존재하는지 의심합니다. 변수를 변경하는 메서드의 각 줄에 중단 점을 두는 것만으로도 쉽습니다.
Michael Borgwardt

이 기능은 존재하지만이를 활성화하면 프로그램이 훨씬 더 느리게 실행될 수 있습니다. 아껴서 사용하십시오. 필드가 변경 될 수있는 위치를 확인하는 것이 항상 쉬운 것은 아닙니다. 특히 필드를 포함하는 객체가 다른 메서드에 전달 될 때 그렇습니다.
Ocie Mitchell

23

또는 변수가 선언 된 줄에서 중단 점을 전환 한 다음 결과 항목을 마우스 오른쪽 단추로 클릭하고 "중단 점 속성"을 선택하고 "필드 액세스"를 선택 취소합니다.


-2

Eclipse에 대해서는 잘 모르겠지만 IntelliJ IDEA에서는 if명령문 에서와 같이 중단 점을 마우스 오른쪽 단추로 클릭하고 조건을 추가 할 수 있습니다 . 그런 다음 디버거는 조건이 참인 경우에만 중단 점에서 일시 중지됩니다.

예를 들어, 이 경우 는 경우에만 중지됩니다 min == 4.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.