[파이썬] pdb 디버그 세션 중 코드 실행하기

디버깅은 프로그램 개발 과정에서 중요한 부분입니다. 버그를 찾고 해결하기 위해 코드를 실행하기 전에 어떤 문제가 발생하는지 확인하고 싶을 수 있습니다. Python에는 내장된 디버깅 도구인 pdb를 사용하여 디버그 세션을 실행하고 코드를 한 줄씩 실행할 수 있습니다.

이 포스트에서는 pdb 디버그 세션 중 코드를 실행하는 방법에 대해 알아보겠습니다.

PDB를 이용한 디버그 세션 시작하기

일단 디버그 세션을 시작하려면 다음 명령어를 코드의 원하는 위치에 추가하면 됩니다:

import pdb; pdb.set_trace()

위의 코드를 실행하면 해당 위치에 디버그 세션이 시작되고, 터미널 또는 콘솔 창에서 pdb 프롬프트로 들어갑니다.

PDB 디버그 세션 명령어

pdb 디버그 세션 중에 몇 가지 유용한 명령어를 사용할 수 있습니다:

디버깅 예시

def multiply(a, b):
    result = a * b
    return result

def divide(a, b):
    result = None
    try:
        result = a / b
    except ZeroDivisionError:
        import pdb; pdb.set_trace()
        print("Error: Division by zero")
    return result

def main():
    num1 = 10
    num2 = 0
    result = divide(num1, num2)
    print(f"The result is: {result}")

if __name__ == "__main__":
    main()

위의 예시 코드에서 divide() 함수를 디버깅 하기로 결정했습니다. pdb.set_trace()를 호출하여 디버그 세션을 시작할 수 있습니다. 코드를 실행하면 pdb 프롬프트((Pdb))가 나타나고 디버깅 명령어를 입력할 수 있습니다.

예를 들어 n을 입력하면 다음 줄로 코드를 실행하게 됩니다. l을 입력하면 현재 코드 주변을 보여주는데, 현재 위치는 화살표로 표시됩니다. s을 입력하면 현재 줄에서 함수의 내부로 이동할 수 있습니다.

위의 예시를 디버깅하면서 pdb 디버그 세션의 명령어를 사용하는 방법을 익힐 수 있습니다.

결론

Python의 내장 디버깅 도구인 pdb를 사용하면 코드 실행 중에 디버그 세션을 시작하고 중단점을 설정하고 디버깅 명령어를 사용할 수 있습니다. 이를 통해 버그를 찾고 해결하는데 도움이 됩니다. PDB를 사용하여 프로그램을 효율적으로 디버깅할 수 있으며, 프로그램 개발 과정에서 중요한 도구가 될 수 있습니다.