일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 우분투
- Kubernetes
- 프로그래머스
- Java
- LV 0
- 정처기
- 인공지능
- github
- Linux
- DevOps
- git
- 머신러닝
- 리눅스
- 쿠버네티스
- db
- 자바
- docker
- 파이썬
- ubuntu
- Ai
- 자료구조
- mysql
- Python
- Lv 2
- 알고리즘
- 데이터베이스
- 코테
- programmers
- 코딩테스트
- 깃
Archives
- Today
- Total
Myo-Kyeong Tech Blog
[Python] 파이썬 코드 디버깅을 위한 PDB 사용 방법 본문
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
반응형
'Programming > Python' 카테고리의 다른 글
[Python] print 대신 logging을 사용하는 이유 및 사용법 (3) | 2024.11.14 |
---|---|
[Python] 우선순위 큐 (Priority Queue) 개념 정리 및 예제 (0) | 2023.07.15 |
[ Python ] python 문자열 메소드 - 다른 문자열 교체 replace() (0) | 2023.06.03 |
[ Python ] Lambda 함수를 활용한 리스트 정렬 (0) | 2023.06.01 |