디버깅 실전 · 코드 레벨 디버깅 · 퀴즈
퀴즈: 코드 레벨 디버깅
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
파이썬 트레이스백에서 원인을 가장 직접적으로 말해 주는 부분은?
- 맨 첫 줄의 'Traceback (most recent call last)'
- 가장 위쪽 프레임의 파일과 줄 번호
- 맨 아랫줄의 예외 이름과 메시지
- 스택의 중간 프레임들
배치 잡이 실패하는데 로그 파일에 아무 내용이 없습니다. 가장 먼저 의심할 것은?
- 로그 로테이션이 파일을 지웠다
- 디스크가 가득 차서 못 썼다
- 리다이렉션에 `2>&1` 이 빠져 표준오류가 버려지고 있다
- 권한이 없어 로그 파일을 못 썼다
재현이 안 되는 문제를 다루는 정공법은?
- 재현될 때까지 부하를 올린다
- 로그 레벨을 DEBUG 로 영구히 올린다
- 목표를 재현이 아니라 다음번 관측으로 옮기고 필요한 증거가 남도록 계측을 심는다
- 해당 기능을 비활성화한다
`ValueError: invalid literal for int() with base 10: 'abc'` 를 봤습니다. 다음 행동으로 가장 효율적인 것은?
- int() 호출을 try 로 감싼다
- 원본 데이터에서 'abc' 를 검색해 어느 행인지 찾는다
- 입력 파일 인코딩을 확인한다
- 파이썬 버전을 확인한다
깨진 행을 건너뛰도록 고쳤습니다. 여기서 멈추면 무엇이 문제입니까?
- 행마다 건너뛰기 검사를 하느라 느려진다
- 무엇을 왜 건너뛰었는지 남지 않아 다음번에도 같은 조사를 반복한다
- 건너뛴 만큼 데이터가 손실된다
- 실패인데 종료 코드가 0 이 된다
고친 스크립트를 다른 입력 파일에도 돌려 보는 이유는?
- 성능을 측정하려고
- 오늘 데이터에만 맞춘 수정인지 확인하려고
- 인코딩을 확인하려고
- 권한을 확인하려고