키보드워리어

【자바】디버깅 모드 - Step over 와 Step into에 대해 알아본다 본문

JAVA/입문

【자바】디버깅 모드 - Step over 와 Step into에 대해 알아본다

꽉 쥔 주먹속에 안경닦이 2022. 10. 13. 09:47
728x90

안녕하세요 【키보드 워리어】

 

⌨🗡🧑


블로그 방문자 여러분, 안경닦이입니다.

 

오늘은 이전에 살펴본 디버깅 모드에서 Step over와 Step into에 대해 알아보겠습니다.

디버깅모드가 생소하시다면 이전 발행글에 대해 한 번 확인해주세요!

2022.10.12 - [JAVA 완전정복!!/JAVA] - 【자바】디버깅 소개

 


 

Step into와 Step over 버튼 이벤트 화면
왼쪽이 step into 오른쪽이 step over

Step into | Step over

[Step over]는 해당 라인을 실행시켜 다음 라인으로 넘어갑니다.

버튼을 클릭하면 브레이크 포인트 시점 6을 끝내고 라인 7로 넘어간걸 확인 할 수 있습니다.

 

step over 버튼 활성화시
스레드,변수 모두 다음으로 진행됩니다.

 

만일, 출력 메소드가 어떤 움직임을 하는지(what happen)을 보고 싶다면 [step into]를 클릭하세요

 

step into를 통해 메소드가 어떻게 작동하는지 알 수 있고 메소드의 인수가 (argument)뭔지 파악이 됩니다.

단축키는 fn + f5 / fn+ f6입니다. (Mac)

 

호출스택으로 어떤 순서인지 파악이 가능한 화면

 

호출 스택 스레드를 통해서 현재 어떤 순서대로 작업하고 있는지 동시에 확인도 가능합니다.

 

이를 통해서 메소드 하나하나씩 확인해 볼 수 있는데 메인메소드가 어떻게 진행되고 있고, 또 내가 변수입력값을 바꾸고

다른 스레드로 넘어갔을때는 어떻게 값이 바뀌는지도 확인해 볼 수 도 있습니다. 

 

변수값 임의 조정하는 화면

 

만일 위 화면처럼 변수값 임의 조정 후 메인메소드 스레드를 클릭해서 실행해보면 어떻게 될까요?

Table 값을 2로, 1부터 5단까지 출력되도록 임시로 수정했어요

 

디버깅모드에서 변수값 임의로 바꾸었을 때 결과화면

콘솔에 나온 결과값이 바뀌었네요!

이건 항상 이런게 아니라 디버깅 모드를 한 상태에서만 적용되요. 내가 원하는대로 코드를 임의로 수정하는 것이 가능해집니다 :)

 

 

디버깅 모드 결론

이런 연습을 통해서 디버깅모드에 이해해야 합니다.

처음에는 좀 버거울 수 있지만 디버깅 모드를 붙잡고 시간을 보내세요.

 

프로그램에 디버깅 모드를 적용하는것은 매우, 매우, 매우 중요한 스킬입니다.

 

우리는 코드를 읽는것만으로 버그를 찾아낼 수 없기 때문에대부분의 개발자에게 버그를 찾는 디버깅은 굉장히 훌륭한 기능이라고 할 수 있겠습니다.

728x90