티스토리 뷰

1. 브레이크 포인트란?

- 디버깅할 때 코드의 특정 지점에서 프로그램 실행을 멈추게 하는 표시

 

1) 브레이크 포인트가 왜 필요할까?

- 문제의 원인을 정확히 찾기 위해

- 변수 값이 예상한 대로 변하는지 상태 확인

- 코드가 의도한 순서대로 실행되는지 코드 흐름 이해

 

2) 브레이크 포인트를 잘 잡는 법

- 에러 발생 직전 위치에 설정

- 중요한 조건문 앞에 설정

- 함수의 시작 부분에 설정 : 함수의 인자 값이나 초기상태를 확인하고 싶을 때

- 변수 값이 바뀌는 부분에 설정

- 에러 메시지와 관련있는 부분에 설정

 

3) 팁

- 처음부터 너무 많은 브레이크 포인트를 걸지 말고, 문제와 관련된 부분에만 선택적으로 설정

- 브레이크 포인트를 걸고 하나씩 확인하면서 점점 좁혀나가기

 

4) vscode에서 브레이크포인트 설정하는 법

- 코드 라인 번호 옆 왼쪽 클릭: 빨간색 점이 생기는데, 한번 더 클릭하면 삭제된다.

- 또는 커서를 해당 줄에 놓고 F9를 누르면 브레이크 포인트가 설정된다

* 관련 단축키

단축키 설명
F5 다음 브레이크포인트까지 실행 계속
F10 현재 줄을 실행하고 다음 줄로 이동(함수 내부로 들어가지 않음)
F11 현재 실행 중인 함수 내부로 진입
Shift+F11 현재 함수 실행을 끝내고 호출한 위치로 돌아감
Ctrl+Shift+F5 디버깅을 재시작
 Shift+F5 디버깅 중지

 

5) 예시: 조건문이 예상대로 작동하지 않을 때

- price가 100보다 큰데도 else로 가는거 같을 때 (할인 값이 이상할때), 멈춘 상태에서 price 변수 값이 제대로 전달되고 있는지 확인

def accumulate_sum(numbers):
    total = 0
    for num in numbers:
        total = num  # 실수: +=가 아닌 =를 사용
    return total

numbers = [1, 2, 3, 4, 5]
sum_result = accumulate_sum(numbers)
print(sum_result)

- F5 눌러서 디버깅 모드 실행 > python  선택 > 브레이크포인트 지정 > F10 사용

 

2. logging

- 프로그램 실행 중 발생하는 이벤트, 변수 상태, 에러 메시지 등을 기록

- 프로덕션 환경에서 문제 발생 원인을 추적할 때 사용

 

1) 왜 쓸까?

- 파일로 저장 가능해서 나중에 분석할 수 있고, 문제 발생시 언제, 어디서, 어떤 문제가 발생했는지 정확히 추적 가능하다.

- 로직과 무관하게 상태만 기록해 가독성을 해치지 않는다.

- 로그 레벨을 설정해서 출력 여부를 제어할 수 있다. (print는 항상 콘솔에 출력되지만, logging은 level=longging.DEBUG일때만 DEBUG가 출려된다.

로그레벨 설명
DEBUG 상세한 디버깅 정보 (개발 중에만 사용)
INFO 일반적인 정보
WARNING 경고, 하지만 프로그램은 계속 실행됨
ERROR 에러 발생, 프로그램 기능에 문제 발생
CRITICAL 심각한 문제, 프로그램이 종료될 수 있음

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함