Eclipse, Debugging : Expressions 특정 변수값 모니터링하기

디버깅 퍼스펙티브에서 Expressions 뷰가 있다

변수명을 등록해놓으면 디버깅 화면에서 두고두고 볼 수 있다.

disable를 해놓으면 그 상태로 값이 정지되서 안변하고 볼 수 있다.

 

에디터의 변수를 오른쪽 클릭하고 watch를 하면 된다

Eclipse, Debugging : 예외발생지점 찾기

예외발생지점 찾기…

트라이 캐치로 코드를 감싸놓은 경우… 예외발생지점을 정말 찾기 힘들다.

이거 찾으려고 얼마나 고생을 했는지… 코드 구석구석 브레이크 포인트 찍어가지고 돌려보고..

 

이클립스 디버깅 모드에서 간단하게 해결 가능한다.

 

이클립스 Debug Perspective – Breakpoints View – Add Java Exception Breapoint 선택

마음에 드는 예외를 등록해놓으면 예외가 발생하는 순간 그 위치를 잡아준다.

 

Eclipse, BreakPoint Trigger : 단순히 중단점이 아닌 조건부 트리거 설정

브레이크 포인트를 쓰면 그 지점을 실행시키고 있을 때으 값을 발견할 수 있다.

그런데 스프링프레임워크의 특정 빈을 실행하는 경우 이게 첫번째는 콘텍스트 로딩 두번째는 뭐 세번재는 시큐리티인데 세번째 시큐리티에서 오류가 나는 것 같다. 라는상황이 있을 수 잇다.

이 경우 브레이크 포인트를 단순히 찍어놓기만 했다면 이 오류를 보기위해 우리는 브레이크 포인트 2번을 Resume를 눌러줘야 한다. 각종 변수를 변경하면서 실행을 여러번 시켜가며 디버깅을 해야하는데 열번 실행시킨다면 20번의 리쥼을 눌러줘야 한다.

세번째에 떠서 다행이지 10번째 로딩될 때 오류가 발생한다면?

프로그래밍의 기본은 자동화… 이걸 진작에 알았으면 그 때 리쥼 누르느라 시간낭비도 안 했을건데

 

이클립스 브레이크 포인트레 마우스 오른쪽클릭하고 BreakPoint Properties 창을 연다.

설정이 있는데…

HitCount라던가 필요한 기능을 설정할 수 있다.

트리거의 값을 직접 지정하는 것은

value == 1

이런식으로 값을 지정해주면 된다.

 

항상 드는 생각인데… 툴 잘 쓰는것도 실력이다. 메모장으로 잘 짜는게 진짜 실력이니 뭐니 하는 사람들은.. 풒

 

Eclipse, StepFiltering : 디버깅시 관심영역밖의 클래스 필터링

이클립스 디버깅시에 나의 관심영역 밖의 클래스들이 있다

쉽게 말해서 내가 짠 코드가 아닌 라이브러리라더가 jvm의 소스코드들… 적어도 현재 개발과정에서 오류의 원인일 가능성이 낮은 극히 낮다고 봐도 무방한 코드들이다.

이런 코드들을 필터링해서 디버깅시 피로도를 낮추는 방법이 Step filtering 이다.

 

이클립스 설정 (프로젝트 설정이 아닌 맥에선 Eclipse-환경설정,  윈도우에선 Windows-Properties)창을 연다

Java-Debug-StepFilter

이 메뉴에서 적당히 안봐도 될만한것들 선택하면 된다.