Panic Runbook
패닉 조사는 출력 한 줄과 실행 전후 선택지를 함께 묶는다
원인 줄을 찾는 일, 스택 정리 방식을 이해하는 일, 이후 Result로 전환할지 판단하는 일이 하나의 흐름이다.
콘솔 신호
panic message
실패 종류와 값 범위를 먼저 확인한다.
source location
내 파일의 줄 번호가 직접 수정 지점이 된다.
backtrace option
호출 흐름이 필요하면 환경 변수로 자세히 본다.
01
증상 고정
패닉 메시지의 값, 조건, 파일 위치를 그대로 기록한다.
02
내 코드 찾기
백트레이스에서 표준 라이브러리보다 내 파일 첫 등장을 본다.
03
전제 확인
인덱스, 길이, 입력 값, 상태 불변식 중 무엇이 틀렸는지 분리한다.
04
수정 선택
버그는 조건을 고치고, 사용자 상황은 오류 반환으로 바꾼다.
05
종료 정책
릴리즈에서 unwindabort 중 의도한 방식을 확인한다.
상황 해석 권장 처리
내 코드 인덱스 오류 자료구조 길이에 대한 전제가 틀어졌다. 범위 검사, 안전한 조회, 테스트 케이스를 추가한다.
외부 입력 오류 사용자가 고칠 수 있는 실패일 가능성이 있다. Result와 오류 메시지로 돌려준다.
불변식 파괴 프로그램 내부 계약이 깨진 버그다. 패닉 위치보다 앞선 상태 변경을 조사한다.
unwind
스택을 거슬러 올라가며 데이터를 정리한다.
abort
정리 없이 즉시 종료해 바이너리 크기와 동작을 바꾼다.
Result
복구 가능한 실패를 호출자가 다룰 수 있는 값으로 만든다.