웹개발지식

디버깅을 해보자..

1son 2024. 4. 2. 11:33

디버깅 용어 정리 

 

- break point : 중단점, 프로그램 실행이 잠시 중단되었으면 하는 포인트, 이 지점에 도착했을 때의 변수의 값이나 오류 발생을 확인하기 위해 지정 

 

- step over  : 중단된 곳부터 그 함수의 끝까지 라인바이 라인으로 로직을 따라감 

 #그함수의끝

 

- step Into :  함수의 내부로까지 들어가 라인바이 라인으로 로직을 따라감 

#함수의내부

 

- step out : 함수를 끝까지 실행시키고 호출시킨 곳으로 돌아감 

#호출시킨곳 #리턴

 

-Resume : 다음 중단점으로 넘어갈 때까지 실행

#중단점

 

 

 

Intellij 디버깅 방법

 

따로 설정 필요 없이 중단점 지정 후 디버깅 모드로 실행하면 된다. 

디버깅은 벌레모양 초록색 아이콘! 

 

그 아이콘을 클릭하면 main함수가 호출되고 내가 설정한 중단점에 걸린다. 

debug view를 통해 변수에 값이 뭐가 들어갔는지 확인할 수 있다. 

 

 

 

Step Into vs Step Over

둘의 차이는 ??

 

Step into가 뭐라 했지? -> 함수의 내부로 들어가 라인바이라인으로 로직 따라간다구 

중단점 두개 걸고 step into 해본다. 

 

저 내려받기 아이콘 처럼 생긴 것이 step into ! 

main에서

public class Main{
	public static void main(String[] args){
            String name = "mee";
            String  res = hello(name);

            System.out.println(res);
     }
     
    static String hello(String name){
    	Stirng mix = "hello"+name;
        return mix;
    }
}

hello 함수 만났자나?

step into는 안으로까지 -> 안이라는 것 : hello 함수 안에까지! 

들어가 라인바이 라인을 따라간다. 

 

debug view를 보자.

hello 함수에서의 mix가 hello mee로 넘겨진 것을 볼 수 있다. 

 

 

이번에는 step over로 진행한다. 

 

주식처럼 생긴 저 아이콘이 step over

저 아이콘을 누르면 스탭인투처럼 안에 들어가는게 아니고 라인바이 라인은 스킵하고 그 다음 라인으로 간다.

 

그리고 비디오 재생, 멈춤 버튼 처럼 생긴 저 아이콘이 resume

이 아이콘을 누르면 첫번째 중단점에서 바로 다음 중단점으로 넘어간다. 

 

 

 

 

step into, 

step over

resume 

 

각자 적재적소에 사용하여 

디버그를 해보자 ! 

 

디버그 : 오류 해결