놀고 싶어요

[Eclipse] Window Debugging 디버깅 본문

Java

[Eclipse] Window Debugging 디버깅

챌린지 2021. 8. 10. 20:11

 

알고리즘 문제를 풀거나 프로젝트를 하게 되면 디버깅 기능을 사용하게 되는데

오늘은 eclipse 에서 디버깅 하는 방법을 작성하려 한다.

 

 

 

우선, 디버깅하고픈 line을 더블 클릭하면 line 옆에 작은 파란 원이 생긴다.

이 파란색 원은 breakpoint로 해당 라인에 오게 되면 멈추게 된다.

(토글이라 한 번 더 더블 클릭하게 되면 사라지게 된다.)

 

 

벌레 버튼을 클릭하면 시작부터 breakpoint를 잡지 않는 이상 기존 F11 눌렀을 때(run)와 동일하게 실행된다. 

참고로 사진 속 맨 왼쪽 버튼은 breakpoint를 무효화한다. (그냥 F11을 눌러 RUN하는 것과 동일)

 

 

 

아마 첫 breakpoint가 걸리는 경우, 이런 창이 뜨는데 switch를 눌러준다.

그럼 화면이 갑자기 바뀌게 되는 걸 볼 수 있다.

 

 

 

왼쪽 상단을 보면 위와 같은 창이 생겼을 텐데,

variables 탭은 현재 breakpoint에서의 객체 값들을 조회할 수 있다.

하지만 클릭해서 선택한 객체의 값만 조회할 수 있으며, 코드상에 있는 객체들만 조회할 수 있다.

 

expressions 탭에서는 약간의 사칙연산이 추가된 객체 값이라 든지, 메소드를 통한 값 조회 등 가능하다.

+Add new expression 을 클릭하여 사용자가 직접 추가하면 조회가 된다.

 

 

1. 다음 breakpoint로 이동한다. F8버튼으로 가능

2. debugging 종료

3. step into: 선언된 구현체(또는 메소드) 안으로 이동한다. F5 버튼으로 가능

4. step over: 현재 위치(메소드)에서 메소드 그대로 실행한다. (step into와 다르게 선언된 타 method로 이동 안함) F6버튼으로 가능. 

(메소드 안에 별도로 breakpoint 걸지 않는 이상 들어가지 않는다.)

5. step return: 타 메소드에 들어간 debugging 위치를 다시 원위치로 빼온다. F7버튼으로 가능

 

 

step into 같은 경우는 API포함(toString, equals 같은..)하여 적용이 되어 불편할 수도 있다.

이럴 땐, Window > Preferences > Java > Debug > Step Filtering에서 Use Step Filters를 체크 하고

하단의 정의된 step filters를 전부 체크하게 되면 API의 step은 무시하고 진행하게 된다.

(apply 필수!)

 

 

'Java' 카테고리의 다른 글

[JAVA] 2차원 배열 선언하는 여러 가지 방법  (0) 2021.08.31
[JAVA] Arrays.asList()  (0) 2021.07.27