panic! trace

panic 디버깅 점검 순서

패닉은 실행 중단 신호입니다. 출력 메시지, 소스 위치, 백트레이스, 종료 정책을 순서대로 읽으면 원인을 좁힐 수 있습니다.

1

발생 지점

직접 호출한 panic!인지, 범위 밖 인덱스처럼 라이브러리에서 멈춘 것인지 구분합니다.

2

메시지와 위치

첫 줄의 설명과 src/main.rs:4:5 같은 파일, 줄, 열 정보를 먼저 확인합니다.

3

백트레이스

RUST_BACKTRACE=1로 호출 흐름을 열고, 위에서부터 내 파일이 처음 나오는 줄을 찾습니다.

4

종료 정책

기본은 unwind이며, 릴리즈 바이너리 크기가 중요하면 abort를 검토합니다.

출력에서 읽을 것

thread

어떤 스레드가 패닉에 빠졌는지 보여줍니다.

message

직접 작성한 문구나 라이브러리가 제공한 실패 이유입니다.

file:line

수정할 후보 지점을 가장 빠르게 알려주는 좌표입니다.

발생 후 선택

unwind

스택을 되감으며 각 프레임의 값을 정리한 뒤 종료합니다.

abort

정리 과정을 생략하고 즉시 종료합니다. 운영체제가 메모리를 회수합니다.

fix

패닉을 없애려면 잘못된 인덱스나 깨진 전제를 호출 지점에서 고칩니다.