Learn

[정보] 빠르게 배우는 VSCode 디버깅

부루기 2024. 7. 16. 15:51
728x90

벌레를 잡아주세요 VScode님

1. VS Code 디버깅 소개

지금까지 디버깅을 크게 사용하지 않고 단순 무식하게 코드를 짰었는데, 이번에 논문의 코드를 보다보니 도저히 알 수 없는 경우가 많아서 이제서야... 디버깅을 써보기로 했습니다. 이 글에서는 간략하게 VScode의 디버깅을 설명하고 실제로 해보는 걸 목표로 합니다.

2. 기본 설정 및 준비

당연히 VS Code가 설치 되어있고 Python 환경 설정이 이미 해결된 상태라고 가정하고 설명하겠습니다.

3. 기본 디버깅 사용법

코드 작성 및 브레이크포인트 설정

간단한 Python 코드를 작성합니다:

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

if __name__ == "__main__":
    x = 5
    y = 10
    sum = add(x, y)
    print(f"The sum of {x} and {y} is {sum}")
  1. 코드의 줄 번호 왼쪽을 클릭하여 브레이크포인트를 설정합니다.
  2. 디버깅 시작: 왼쪽 사이드바의 Run & Debug 아이콘을 클릭하고 "Python: Current File"을 선택한 후, 상단의 녹색 삼각형 버튼을 클릭하여 디버깅을 시작합니다.
  • 다만 이렇게만 실행하면 단순하게 실행한 것과 다름이 없습니다. 이제부터 원하는 곳을 확인하기 위해 Breakpoint를 걸고 실행이 거기서 멈추도록 해야합니다.

VScode의 숫자 약간 뒤쪽으로 가면 선택할 수 있습니다

  • y=10에 중단점을 설정하고 화면을 확인해보겠습니다. 다음과 같이 화면이 뜨는 것을 확인할 수 있고 상단에 다양한 키가 생겼는데 이에 대해서 설명해보겠습니다.

디버깅 시작 및 변수 확인

  1. 브레이크포인트에서 실행이 중지되면, VARIABLES 창에서 변수 값을 확인합니다.
    1. 그 외에도 WATCH, CALL STACK을 통해서 원하는 변수확인, 함수의 순서를 확인할 수도 있습니다.

  1. Continue (F5): 단순한 실행입니다. 다음 중단점으로 이동합니다. 
  2. Step Over (F10): 다음 줄로 이동하여 코드를 실행합니다. 일반적으로 많이 쓰게 되는 키입니다. 단순하게 하나씩 넘어가는데 주의할 점은 함수는 들어가지 않습니다.
  3. Step Into (F11): 그래서 이 버튼이 있습니다.  함수 내부로 들어가며 실행하는데 저는 이 함수를 많이 이용하며 보고 싶은 함수에서 중단점을 걸어두고 step into를 하시면 됩니다.
  4. Step Out (Shift + F11): 함수 밖으로 나와서 상위 함수로 돌아갑니다. 이번에는 함수에 들어가있는 상태에서 바로 나오는 키입니다. 어느정도 확인해보고 나오고 싶을 때 사용합니다.
  5. Restart : 파일을 재시작합니다. VScode에 이전의 값으로 돌아가는 키가 없기 때문에 다시 해볼 때 사용합니다.
  6. Stop : 디버깅을 종료합니다.

왼쪽부터 설명입니다.

4. 고급 디버깅 기능

조건부 중단점

  1. 중단점 위에서 오른쪽 클릭하여 "Edit Breakpoint..."를 선택합니다.
  2. 조건을 입력합니다 (예: x == 5).

 

x==5 일때 멈출 수 있도록 해봅시다!

  • 그 외에도 체크포인트 등을 이용하는 것도 있었으나, 아직까지 필요성을 느끼지 못해서 넘어가도록 하겠습니다. 혹시 필요하신 분은 찾아보시면 좋을 것 같습니다.

5. 중단점 관리 및 팁

  1. 좌측 사이드바의 디버깅 아이콘을 클릭하고, 중단점 패널에서 현재 설정된 모든 중단점을 확인하고 관리할 수 있습니다.
  2. 특정 중단점을 선택하여 활성화하거나 비활성화할 수 있습니다.
  3. 모든 중단점을 제거하려면 중단점 패널에서 "Remove All Breakpoints"를 선택합니다.

6. 결론

VS Code의 디버깅 기능을 통해 코드의 문제를 효과적으로 찾아내고 수정할 수 있습니다. 기본적인 브레이크포인트 설정부터 조건부 중단점과 같은 고급 기능을 활용하여 디버깅을 효율적으로 수행해보는 것이 좋을 것 같습니다. 기능은 좋은 것이 많으니 자신에게 편한 것을 잘 취사선택하면 좋을 것 같습니다!


참고자료

  1. https://wikidocs.net/137962
  2. https://velog.io/@jiseon-han/%EB%94%94%EB%B2%84%EA%B9%85-%EB%B0%A9%EB%B2%95 
  3. https://velog.io/@rimmz/%EB%94%94%EB%B2%84%EA%B9%85%EC%9D%B4%EB%9E%80-VSCode-%EB%94%94%EB%B2%84%EA%B9%85-%EB%B0%A9%EB%B2%95-%EB%B0%8F-%ED%8C%81
 

2-5. VS CODE 사용법 (디버깅)

오늘은 열심히 프로그래밍의 영원한 동반자인 디버깅(Debugging)에 대해서 설명드리고 VS code에서 어떻게 효율적인 디버깅을 할 수 있는지 함께 알아보는 시간을 가지겠습니…

wikidocs.net

 

728x90