Myo-Kyeong Tech Blog

[Python] 파이썬 코드 디버깅을 위한 PDB 사용 방법 본문

Programming/Python

[Python] 파이썬 코드 디버깅을 위한 PDB 사용 방법

myo-kyeong 2024. 3. 18. 19:04
728x90
반응형

PDB ( Python Debugger )

  • Python 코드 디버깅을 위한 표준 라이브러리
  • 코드 실행 중에 프로그램을 일시 중지하고 상태를 검사하거나 변수를 조사하여 버그를 찾을 수 있음
  • 프로그램 실행 중에 인터랙티브하게 상호작용할 수 있는 디버깅 환경을 제공

 

Pdb 사용 방법

디버깅 모드 설정

  • 디버깅이 필요한 지점에 'import pdb; pdb.set_trace()' 코드를 추가
    • 프로그램 실행 중에 이 코드를 만나면 디버거가 시작 
import pdb; pdb.set_trace()

 

[사용 예제]

# debug_ex.py
# 사용자로부터 두 개의 숫자를 입력받아, 그 합과 곱을 출력하는 코드

def multiply_two_numbers(number1, number2):
    result = number1 * number2
    return result

def main():
    print("두 숫자의 합과 곱을 구하는 프로그램입니다.")
    num1 = int(input("첫 번째 숫자를 입력하세요: "))
    num2 = int(input("두 번째 숫자를 입력하세요: "))

    import pdb; pdb.set_trace()  # 디버깅 모드 설정

    sum_result = num1 + num2
    print(f"합: {sum_result}")

    product_result = multiply_two_numbers(num1, num2)
    print(f"곱: {product_result}")

if __name__ == "__main__":
    main()

 

디버거 사용

  • 프로그램이 디버깅 모드에 도달하면, 프롬프트가 나오고 디버거 커맨드를 사용할 수 있음

[디버거 커맨드]

l (list) 현재 실행 위치 주변의 코드를 보여줌
n (next) 다음 줄로 이동 ( 함수 내부로 들어가지 X) 
s (step)  다음 줄로 이동 ( 함수 내부로 들어감) 
c (continue)  다음 중단점이나 스크립트를 끝까지 계속 실행
p (print)  변수 값 출력 
q (quit)  디버거 종료하고 프로그램 실행 종료 

 

728x90
반응형