Backend 개발/Python

[파이썬] '디버깅 도구' :버그를 찾아내는 유용한 도구**

Queen Julia 2024. 3. 3. 11:37

bug: 예상치 못한 오류 

debug: 버그를 없애는 행위 

 

버그를 찾아내는 유용한 '디버깅' 도구들 

 

print 

화면에 데이터를 출력하는 print 함수 

 

가장 단순, 유용한 디버깅 도구 

 

내시경 카메라처럼 화면에 침투 시켜 데이터를 볼 수 있음 

 

 

 

원하는 값이 안 나오는 에러 발생 시에,

 

 

중간에 print()로 값을 출력해봄으로써, 그 위치에서도 원하는 값이 안 나오는 같은 에러가 중간에서도 발생하면, 

문제가 되는 코드가 중간지점에 있다는 뜻이고,

 

그 아래 코드들은 문제 없다는 걸 알 수 있다. 

 

 

 

그럼 또 그 중간쯤 어딘가에 print() 코드를 갖다 놓아서, 

위치를 찾는 것. 

그 지점에서는 원하는 맞는 결과가 나옴. 

그 뜻은 그 아래 코드가 문제가 있음을 알 수 있다. 

 

그러면 중간의 a=8 코드가 문제 있음을 알게 되고, 삭제하거나 a=1로 지우거나..

 

 

그런데, 코드 양의 많을 경우

반씩 잘라가면서 찾아가는 건 단점. 

 

debugger 

mri 자기 공명 영상처럼 강력

프로그램 실행 중지 시키고, 한줄 한줄 데이터의 변화를 파악할 수 있음. 

 

소스 코드가 어떻게 동작하는지 파악하는데에도 더 없이 좋은 도구 

 

 

파이썬에는 기본적으로 debugger 내장됨.

2가지 경로로 찾을 수 있음 

 

 

디버깅 실행시키기 전에, 

1. 어디서부터 디버깅을 할지를 지정하는 게 좋음 

 

빨간 점 -> breakpoint (실행을 브레이크하는)

 

2. run and debug 클릭 

 

3. python file에 디버깅할거니, 'python file' 선택하면 됨 

4. 노란색 화살표: 여기까지 실행됐다는 뜻

 

a=1이다 라는 게 실행됐다는 뜻

 

5. step over 한줄만 실행시킨다

 

 

 

입문자일수록 도구가 좋다