본문 바로가기
CS

디버깅 과정에서 사용하는 주요 명령어 : Step Over, Step into, Step out, Next

by 개발하는 감자입니다 2024. 6. 24.
728x90

 

 

안녕하세요! 개발감자입니다.

디버깅 과정에서 사용하는 주요 명령어를 정리해보았습니다.

목차
1. Step Over (스텝 - 오버)
2. Step Into (스텝 - 인투)
3. Step Out (스텝 - 아웃)
4. Next (넥스트)

 

1. Step Over (스텝 - 오버) 

현재 줄의 코드를 실행하고 다음 줄로 넘어갑니다.

만약 현재 줄에 함수 호출이 포함되어 있으면, 그 함수의 내부로 들어가지 않고  함수 호출을 완료한 다음 줄로 이동합니다.

 

- 사용상황

: 함수 내부의 자세한 동작을 볼 필요 없는 경우, 함수 호출 이후의 코드를 확인하고 싶은 경우 사용합니다.

 

- 예제 

def add(a, b):
    return a + b

result = add(5, 3)  # 스텝 오버를 사용하면 add 함수 내부로 들어가지 않고 이 줄이 실행된 후 다음 줄로 이동합니다.
print(result) # << 여기로 이동힙니다!

 

2. Step Into (스텝 - 인투)

현재 줄의 코드를 실행하고, 만약 그 줄에 함수 호출이 있다면 함수의 내부로 들어가 첫 번째 줄부터 실행을 시작합니다.

 

- 사용상황

: 함수 내부의 자세한 동작을 확인하고, 함수 내부에서 어떤 일이 일어나는지 보고 싶은 경우 사용합니다.

 

- 예제

def add(a, b):
    return a + b # << 여기로 이동합니다 !

result = add(5, 3)  # 스텝 인투를 사용하면 add 함수 내부로 들어가 첫 번째 줄부터 실행을 시작합니다.
print(result)

 

 

3. Step Out (스텝 - 아웃)

현재 함수의 실행을 완료하고, 함수 호출이 끝난 다음 줄로 이동합니다. 현재 함수의 나머지 부분을 모두 실행한 후 함수 호출 이후의 코드로 돌아갑니다.

 

- 사용상황 

: 함수 내부의 디버깅을 마치고, 함수 호출 이후의 코드로 돌아가고 싶은 경우 사용합니다.

 

- 예제

def add(a, b):
    sum = a + b  # 여기서 스텝 아웃을 사용하면 이 함수의 나머지를 실행하고 함수 호출 이후의 줄로 이동합니다.
    return sum

result = add(5, 3)
print(result) # << 여기로 !

 

 

4. Next ( 넥스트 )

보통 Step Over와 유사한 동작을 실행합니다. 현재 줄의 코드를 실행하고 다음 줄로 이동합니다. 디버거마다 차이가 있을 수 있습니다.

 

- 사용상황

: 일반적으로 다음 명령으로 이동할 때 사용합니다.

 

- 예제

def add(a, b):
    return a + b

result = add(5, 3)  # 넥스트를 사용하면 이 줄을 실행하고 다음 줄로 이동합니다.
print(result) # << 여기로 이동합니다!

 

 

5. 요약

명령어 내용
1. Step Over 현재 줄의 코드 실행 후 다음 줄로 이동 (함수 내부로 들어가지 않음).
2. Step Into 현재 줄의 코드 실행 후 함수가 있으면 그 함수 내부로 들어감.
3. Step Out 현재 함수의 나머지를 모두 실행하고 함수 호출 이후의 줄로 이동.
4. Next Step Over와 유사하게 현재 줄을 실행하고 다음 줄로 이동.

 

상황마다 알맞은 명령어를 사용할 수 있다면 더 효율적인 디버깅이 가능해질 것 같습니다.

 

그럼 지금까지 개발감자였습니다. 감사합니다 :)

 

728x90
반응형