파이썬프로그래밍

파이썬 - 디버깅편(Pdb, breakpoint( ))

ROSEV 2021. 8. 30. 18:09

Pdb

pdb라는 라이브러리를 통해 디버깅을 할 수 있습니다

Pdb with Python

import pdb

def simple_function(nums):
	total_sum = 0
	pdb.set_trace()

	for i in range(0, nums + 1):
		pdb.set_trace()
		total_sum += i

	return sum

simple_function(4)
  • 위의 코드를 실행하면  #pdb.set_trace()라는 코드 위에서 코드가 멈춰있게 됩니다
  • db.set_trace()를 멈추고 싶은 곳에 위치시키면 됩니다.
  • 해당 상태에서 n을 입력하면 NEXT라는 의미로 코드를 한줄씩 진행할 수 있게 됩니다
  • 이를 통해 total_sum의 값이 어떻게 변화하는지 알 수 있습니다. n으로 포문을 한번 돌린 뒤 total_sum을 입력하면 값이 변화함을 알 수 있는 것입니다.

breakpoint with python

# 위와 유사하지만, breakpoint()을 이용한 곱셈 디버깅

def simple_function(nums):
    total_mult = 1
    breakpoint()

    for i in range(1, nums + 1):
        total_mult *= i


    return total_mult

simple_function(4)
  • 위는 파이썬버전 3.7이상부터 되는 breakpoint()로 디버깅하는 모습입니다.
  • pdb와 기능적으로는 유사합니다.
  • pdb와 유사하지만 라이브러리를 가져오지 않고 디버깅을 할 수 있는 장점이 있습니다.