Breakpoints(브레이크 포인트) 뷰
브레이크 포인트 뷰를 이용하면 현재 어느 위치에 브레이크 포인트가 걸려있는지 알 수 있고 지정해둔 브레이크 포인트를 활성화 또는 비활성화 하는등의 관리가 가능합니다. 이밖에도 반복문 안에서 원하는 횟수의 반복시점에만 디버깅을 실행하거나 모든 스레드를 정지시키는 등의 기능도 수행할 수 있습니다.




만약 브레이크 포인트 뷰가 퍼스펙티브에 없는 경우에는 Window > Show View > Breakpoints 를 클릭하면 나타납니다.




브레이크 포인트 활성화/비활성화
현재 찍어둔 브레이크 포인트들의 목록에서 체크를 해제하게 되면 해당 브레이크 포인트는 비활성화 되며 프로그램이 해당 지점에 정지되지 않고 지나갑니다. 체크된 브레이크 포인트는 파란색으로 표시되며, 비활성화 된 브레이크 포인트는 흰색 점으로 표시됩니다.



브레이크 포인트 뷰 우측 상단에 몇가지 버튼이 있는데, 차례대로 설명하면 다음과 같습니다.
- 선택한 브레이크 포인트를 제거합니다.
- 모든 브레이크 포인트를 제거합니다. (정말 제거할 것인지 경고 문구가 나타남)
- 선택한 브레이크 포인트의 실제 코드로 포커스가 이동합니다.
- 특정 예외를 선택하여 해당 예외가 발생하면 브레이크 포인트와 같은 효과가 발생합니다.





반복문 특정 반복 횟수에 디버깅하기 - Hit Count
현재 7번 라인과 20번 라인 두 개의 브레이크 포인트가 있는데, 20번라인은 for문안의 코드에 브레이크 포인트가 걸려 있습니다. personList의 length가 3이므로 이 반복문은 세 번 실행될 것이고 브레이크 포인트를 걸어둔 출력문 코드 또한 세 번 실행되면서 프로그램이 세 번 정지될 것입니다.

만약 List 크기가 30000인 경우 20000번째 person의 출력 값이 궁금한 경우는 F8 키를 19999번 연타한 후에야 확인이 가능할 것입니다. 이럴때 사용하는 것이 Hit Count이며 브레이크포인트 뷰에서 원하는 브레이크 포인트를 선택한 후 원하는 반복 횟수를 HitCount에 적은 후 저장하면 해당 브레이크 포인트는 해당 횟수만큼 반복 후 디버깅이 걸리게 됩니다.






모든 쓰레드 멈추기(JVM 멈추기)
브레이크 포인트는 현재 실행중인 스레드가 멈추는 것이지만 만약 멀티쓰레드 기반의 프로그램을 디버깅 한는 경우라면 모든 쓰레드를 정지시키고 싶은 경우가 있습니다. 그럴때는 브레이크 포인트뷰에서 원하는 브레이크 포인트를 선택한 후 하단의 SuspendVM에 체크해두고 디버깅을 진행하면 됩니다.




블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

,