pbj0812의 코딩 일기

[PYTHON] Debugging 본문

ComputerLanguage_Program/PYTHON

[PYTHON] Debugging

pbj0812 2020. 6. 1. 01:38

0. 목표

 - python의 pdb library를 사용하여 디버깅 실습

1. 실습

 1) 예제 코드 작성

  - test 함수 : inp1, inp2를 받아 inp1 + inp2를 출력

  - 반복문 안에 함수를 끼워놓은 형태

import pdb
 
def test(inp1, inp2):
    return inp1 + inp2
    
for i in range(10):
    print(i)
    result = test(1, 1)
    pdb.set_trace()

 2) 실행

 3) 옵션 실험

  (1) l

   - 소스코드 출력 및 현재 라인이 화살표로 표시

  (2) n

   - 다음 줄로 이동

  (3) c

   - 다음 중단점 만날때까지 실행

  (4) s

   - 함수 내부로 들어감

   - n을 계속 눌러 def test(inp1, inp2) 가 있는 곳까지 왔으며 여기서 s를 눌러 해당 함수인 test 안에 접근

   - 이 상태에서 print(inp1), print(inp2)를 통하여 해당 변수에 어느 값이 들어갔는지를 확인 가능

  (5) a

   - 현재 함수의 매개변수 출력

   - test 함수 안에 들어간다음 a를 부르니 test의 매개변수인 inp1, inp2 및 값 출력

  (6) w

   - 현재 줄의 컨텍스트 확인(잘 모르겠음.)

  (7) r

   - 현재 함수의 return 값이 나올때까지 실행

  (8) b

   - 특정 위치에 중단점 생성

   - 현재 위치는 6번째 줄이며, b 8을 통해 8번째 줄에 중단점을 생성한 뒤 c를 눌러 중단점의 위치인 8번째 줄로 이동

  (9) cl

   - 중단점 삭제(y 입력)

  (10) 종료

   - c를 계속 눌러 프로그램을 끝까지 돌리거나, exit를 입력하면 에러가 발생하면서 코드가 멈춤

2. 참고

 - 디버깅 - interpy - kr

 - [Python] pdb를 이용해 파이썬 코드 디버깅하기

Comments