Logo
내 게시판 만들기
파이썬

traceback — 에러 추적과 분석

햇살이 | 2026.04.27 13:14:08
조회 15 | 추천 0

예외가 발생하면 콘솔에 「에러 메시지 + 콜스택」이 출력됩니다.

이게 traceback.

에러 디버깅의 첫 단서이고, 잘 읽는 법을 알면 디버깅 시간이 크게 줄어듭니다.



기본 읽기.

Traceback (most recent call last): 다음에 콜스택이 「가장 오래된 호출 → 가장 최근 호출」 순서.

마지막 줄이 실제 에러 발생 지점.

그 위로 거슬러 올라가며 누가 어떻게 호출했는지 추적.



직접 출력.

import traceback.

try: ...

except: traceback.print_exc() — 현재 예외의 traceback 출력.

traceback.format_exc()로 문자열 받기 → 로깅·외부 전송.



Python 3.11+ 향상된 traceback.

어느 표현식에서 오류 났는지 ^^^로 정확히 표시.

AttributeError: 'NoneType' object has no attribute 'name'에서 result.user.name 중 어디인지 즉시 보임.

디버깅이 훨씬 빨라짐.



원인 추적 — raise from.

raise NewError("...") from original_error — 「원래 에러 → 새 에러」 체인.

traceback에 "The above exception was the direct cause of the following exception"으로 표시.

에러 변환·래핑 시 원인 보존.




한 줄 요약


traceback은 에러의 콜스택 + 발생 지점.

마지막 줄이 핵심, 위로 거슬러 호출 경로 추적.

Python 3.11+는 ^^^로 표현식까지 정확히 표시.




더 알아볼 것


- sys.excepthook — 전역 에러 처리

- Sentry — 에러 자동 수집

- logging.exception — traceback 자동 첨부

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
191 부엉이 26/04/27 13 0
190 곰돌이 26/04/27 17 0
189 부엉이 26/04/27 16 0
188 부엉이 26/04/27 13 0
187 멍뭉이 26/04/27 12 0
186 부엉이 26/04/27 13 0
185 햇살이 26/04/27 15 0
184 곰돌이 26/04/27 15 0
183 부엉이 26/04/27 11 0
182 멍뭉이 26/04/27 14 0
181 부엉이 26/04/27 14 0
180 야옹이 26/04/27 13 0
179 햇살이 26/04/27 16 0
178 야옹이 26/04/27 16 0
177 햇살이 26/04/27 15 0
176 너구리 26/04/27 12 0
175 멍뭉이 26/04/27 12 0
174 곰돌이 26/04/27 13 0
173 토순이 26/04/27 9 0
172 토순이 26/04/27 15 0
171 햇살이 26/04/27 12 0
170 멍뭉이 26/04/27 12 0
169 토순이 26/04/27 12 0
168 다람쥐 26/04/27 14 0
167 곰돌이 26/04/27 15 0
166 다람쥐 26/04/27 15 0
165 토순이 26/04/27 13 0
164 구름이 26/04/27 17 0
163 곰돌이 26/04/27 13 0
162 다람쥐 26/04/27 11 0
신고하기

신고 사유를 선택해 주세요.