디버깅은 개발 과정에서 매우 중요한 단계입니다. 버그를 잡고 코드의 동작을 이해함으로써 프로그램의 품질을 향상시킬 수 있습니다. 파이썬에는 PDB(Python Debugger)라는 내장 디버거 도구가 있습니다. PDB는 파이썬 코드를 라인 단위로 실행하고 중단점을 설정하여 변수의 값을 확인할 수 있습니다.
이번 글에서는 PDB의 기본적인 사용법과 몇 가지 유용한 명령어를 소개하겠습니다.
PDB 시작하기
PDB를 사용하려면 코드 내에 import pdb
문을 추가해야 합니다. 이후 디버그를 시작할 때 PDB를 활성화시킬 수 있습니다.
import pdb
# 코드 작성
pdb.set_trace() # 디버그 시작
위 예제에서 pdb.set_trace()
는 디버깅을 시작하는 중단점을 설정하는 역할을 합니다. 이를 호출하면 코드의 실행이 중단되고 PDB 프롬프트가 나타납니다.
PDB 명령어
PDB에서 사용할 수 있는 명령어는 다양합니다. 몇 가지 유용한 명령어를 살펴보겠습니다.
n
: 다음 줄로 이동합니다.s
: 현재 줄을 실행하고 다음 줄로 이동합니다.b
: 중단점을 설정합니다. 예를 들어b 10
은 10번 줄에 중단점을 설정합니다.c
: 중단점까지 실행합니다.l
: 현재 위치 주위의 코드를 보여줍니다.p
: 변수의 값을 출력합니다. 예를 들어p foo
는foo
변수의 값을 출력합니다.r
: 현재 함수를 빠져나와 다음 중단점까지 실행합니다.q
: 디버거를 종료합니다.
예제 코드
아래는 배열의 합을 구하는 간단한 예제 코드입니다.
import pdb
def sum_array(arr):
total = 0
for num in arr:
pdb.set_trace()
total += num
return total
numbers = [1, 2, 3, 4, 5]
result = sum_array(numbers)
print("Sum:", result)
위 코드에서 pdb.set_trace()
를 호출한 곳에서 실행이 중단되면, PDB 프롬프트가 나타납니다. 여기서 우리는 현재 값을 확인하고 다음 코드를 실행하거나 중단점을 설정할 수 있습니다.
PDB는 복잡한 코드의 디버깅에도 도움이 되는 강력한 도구입니다. 기본 명령어 외에도 다양한 명령어와 기능을 제공하므로 PDB 문서를 참고하면 더 많은 기능을 활용할 수 있습니다.
코드에 버그가 있다면, PDB를 활용하여 코드의 동작을 이해하고 문제를 해결해보세요. 디버깅은 개발자를 위한 필수 능력이므로 꾸준한 연습과 학습이 중요합니다.