파이썬/파이썬(python) 초급

[13-1 파이썬] 디버깅, 디버거, 디버깅 잘하는 법

Olivia-BlackCherry 2022. 8. 21. 12:04

코드를 작성하다 보면 

누구나 버그를 만들 수 있다. 

 

오늘은 디버깅을 잘하는 팁을 전달한다. 

 

1. 문제가 무엇인지 곰곰이 생각해보자.

무엇 때문에 버그가 발생했는지 말이다.

버그의 원인에 대한 가정을 세우고, 그것이 버그의 문제인지 확인하자.

 

 

2. 코드에서 버그를 발생시켜보자.

이 말은 잘못된 코드를 작성하라는 것이 아니라, 

내가 만든 코드에서 버그가 발생하는지 여러 번 실행해보라는 것이다. 

첫 번째 실행에서는 운이 좋아 버그를 피할 수도 있었겠지만,

여러 번 실행했을 때는 버그를 만날 수도 있기 때문이다.

 

버그가 발견되면, 언제 고정적으로 이 오류가 발생한 지 확인하고

그 버그를 해결하면 된다.

 

 

3. 컴퓨터처럼 생각하자. 

컴퓨터가 사고하는 것처럼 코드 과정을 따라가면서

어떤 문제가 있는지 생각하는거다.

인간의 생각 회로와 컴퓨터의 생각 회로는 매우 다르다는 것을 기억할 것!

 

 

4. 에러 화면, 문구를 해결하다.

화면에 빨간 줄을 그어(빨강 네모)

에러가 있는 곳을 알려주거나

콘솔창에 에러 문구가 뜨는 것처럼(노랑 네모)

친절하게도

에러가 나면 에러가 나는 이유까지 알려주기도 한다.

 

이럴 때는 

그대로 복사하기를 해서 다음, 빙, 구글에 검색해서

수많은 해법을 찾을 수 있다.

 

 

5. print() 함수를 잘 이용하자.

코드 중간중간 print() 함수를 사용해서 

코드 진행 상황을 점검할 수 있다. 

변수들의 실제 값을 print 해서

코드가 올바르게 작성되었는지 확인하는 것이다.

문제를 찾아나기가 쉽다.

 

 

6. Debugger 디버거를 활용하자!

코드의 진행상황을 하나하나씩 보여줘서

버그를 찾을 수 있게 도와주는 사이트, 프로그램이 있다.

디버거라고 불린다.

 

매 문장을 print() 한 것처럼 확인할 수 있고,

특정 지점에서의 값도 확인할 수가 있어

디버깅을 하기에 최고이다.

 

- 파이썬 튜터 pythontutor 사이트

https://pythontutor.com/visualize.html#mode=edit

 

Python Tutor code visualizer: Visualize code in Python, JavaScript, C, C++, and Java

Please wait ... your code is running (up to 10 seconds) Write code in Python 3.6 Java 8 JavaScript ES6 C (gcc 9.3, C17 + GNU extensions) C++ (g++ 9.3, C++20 + GNU extensions) ------ [unsupported] Python 2.7 [unsupported] C (gcc 4.8, C11) [unsupported] C++

pythontutor.com

 

- 토니 Thonny 편집기

https://thonny.org/

 

Thonny, Python IDE for beginners

Thonny 4 is dedicated to Ukraine fighting the Russian invasion. 🇺🇦 Please support Ukraine! 🇺🇦 Download version 3.3.13 for Windows  •  Mac  •  For the curious: 4.0.0b4 Thonny Python IDE for beginners Features Easy to get started. Thonny

thonny.org

 

 

7. 휴식을 취해서 뇌를 활성화시키자!

쉬고 나면 더 코딩이 잘된다..^^

 

 

8. 다른 사람에게 물어보자.

우리와는 또 다른 시각으로, 다른 가정으로 접근하여 문제 해결을 도와줄 것이다.

 

 

9. 실행을 자주 하자.

자주 실행해보면서 버그가 있으면 바로바로 고치는 것이 

좋다. 

코드를 다 작성해놓고, 버그를 찾으려면 발견하기도 쉽지 않다...!!!

 

 

10. 스택오버 플로우를 활용하자.

전 세계의 개발자들이 함께 도움을 주고, 받는 사이트인

stack overflow

스택오버플로우에서 검색하는 것도 좋다.

에러가 났던 코드 맨 아래에 보면 

'search stack overflow'라는 문장이 있는데

이 버튼을 클릭하면 바로 스택오버플로우에서 검색해준다.

 

 

다만 영어로 쓰여 있다.