[파이썬] pdb 소개

PDB는 Python에서 제공하는 디버깅 도구로, 프로그램의 실행 과정을 중단하고 변수의 값 및 코드의 흐름을 확인할 수 있게 해줍니다. 디버깅은 복잡한 프로그램을 개발하고 디버깅하는 과정에서 매우 유용합니다.

PDB의 기능

  1. 중단점 설정: 프로그램 실행 중 특정 부분에서 실행을 멈출 수 있습니다. 중단점을 설정하여 원하는 위치에서 코드의 실행을 중지시킬 수 있습니다.

  2. 변수 확인: 프로그램이 중지되었을 때, 현재 스코프의 변수 값을 확인할 수 있습니다. 이를 통해 프로그램의 상태를 파악하고 잠재적인 버그를 찾을 수 있습니다.

  3. 코드 탐색: 중지된 위치에서 코드를 한 줄씩 실행하면서 코드의 흐름을 확인할 수 있습니다. 이를 통해 코드의 로직을 따라가며 문제가 발생한 원인을 찾을 수 있습니다.

PDB 사용 방법

PDB는 기본적으로 터미널에서 사용할 수 있습니다. 아래는 PDB를 사용하는 간단한 예시입니다:

import pdb

def calculate_sum(a, b):
    result = a + b
    pdb.set_trace()  # 중단점 설정
    return result

x = 2
y = 3
z = calculate_sum(x, y)

print(z)

위 코드에서 pdb.set_trace() 부분이 중단점을 설정하는 부분입니다. 프로그램이 이 부분에 도달하면 실행이 중지됩니다.

터미널에서 위 코드를 실행하면, PDB가 실행되고 현재 위치와 변수 값을 보여줍니다. 이후 PDB의 명령어를 사용하여 코드를 탐색하거나 변수 값을 확인할 수 있습니다.

> ~/example.py(6)calculate_sum()
-> return result
(Pdb) a
a = 2
b = 3
result = 5
(Pdb)

위의 예시에서 a, b, result 변수의 값을 확인할 수 있습니다. 또한 n 명령어를 사용하여 다음 줄로 이동하거나 q 명령어를 사용하여 PDB를 종료할 수 있습니다.

결론

PDB는 Python 프로그램의 디버깅을 도와주는 강력한 도구입니다. 중단점 설정, 변수 확인, 코드 탐색 등의 기능을 제공하여 개발 과정에서 버그를 찾는 데 도움을 줍니다. 디버깅에 필요한 기술을 습득하고 활용하여 더욱 효율적인 개발을 할 수 있도록 노력해보세요.