7- 파이썬 디버깅 알기

파이썬 기초

목표

1.버그를 만났을 때 당황하지 않게 됩니다.

2.버그를 해결하는 다양한 방법들을 알게 됩니다.

3.안전한 코드를 작성하는 법을 알게됩니다.

버그와 예외

버그(Bug)

코드가 원하는 대로 동작하지 않는 모든경우

  • 프로그램이 는 (크래시가 발생하는) 경우
  • 예상한 속도보다 훨씬 느리게 동작하는 경우
  • 잘못된 결과를 출력하는 경우
  • 코드 설계 상 일어나면 안되는 상황이 일어난 경우

예외(Exception)

일반적이지 않은 코드의 동작

  • 사용자가 프로그램을 강제 종료하는 경우
  • 분수의 분모에 0이 들어가는 경우
  • 열고자 하는 파일이 존재하지 않는 경우
  • 인터넷이 불안정한 경우

예외처리 (Exception handling)

  1. 파일을 불러오는 중에 인터넷이 끊겼다면?

처리되지 않은 예외는 버그를 만들 수 있음!

  1. 사진 업로드 중에 배터리가 없어 휴대폰이 꺼졌다면?

개발자는 사용자의 다양한 상황을 예측할 수 있어야 함

디버깅이란?

디버깅

사용/테스트 중 찾아낸 버그를 없애 나가는 과정

  • 버그의 원인을 찾고
  • 발생한 버그를 해결하고
  • 비슷한 버그의 재발을 방지하는 것

버그의 원인 찾기

  • 어떤 상황에서, 어떤 조작을 했을 때 일어나는가?
  • 얼마나 잦은 빈도로 발생하는가?
  • 에러 메시지가 뜬다면 내용이 무엇인가?

발생한 버그 해결하기

  • 버그가 발생한 원인을 해결하려면 어떻게 해야 하는가?
  • 새로운 코드가 일으킬 새로운 버그는 없는가?

버그 재발 방지하기

  • 버그를 일으킨 코드가 다른 곳에서 사용되는가?
  • 비슷한 설계를 이용한 다른 코드는 없는가?
  • 고친 코드의 약점은 없는가?
  • 코드를 지속적으로 검증할 방법은 무엇인가?

© 2021. All rights reserved.

----------박상훈의 블로그----------

@sanghoonsc