이 스킬은 AI 어시스턴트가 소프트웨어 디버깅을 체계적이고 구조화된 방식으로 접근할 수 있도록 설계되었습니다.
목표
- 디버깅 프로세스를 명확하고 반복 가능한 단계로 분해합니다.
- AI가 문제의 근본 원인에 집중하도록 안내합니다.
- 무작위 추측을 최소화하고 가설 기반 테스트를 장려합니다.
워크플로우
-
문제 재현
- 오류 메시지, 스택 트레이스, 예상 동작 대 실제 동작 등 관찰된 증상을 수집합니다.
- 문제를 안정적으로 재현할 수 있는 최소한의 입력 또는 단계를 식별합니다.
- 가능한 경우 격리된 환경에서 재현을 시도합니다.
-
루트 원인 분석
- 수집된 데이터를 기반으로 가설을 세웁니다.
- 각 가설을 검증하거나 반증할 수 있는 실험을 설계합니다.
- 관련 코드를 검사하고, 로그를 분석하며, 필요에 따라 중단점을 사용합니다.
-
해결책 구현
- 검증된 근본 원인을 바탕으로 수정 사항을 계획합니다.
- 수정 사항이 기존 기능에 미치는 영향을 고려합니다.
- 변경 사항을 구현하고 단위 테스트를 추가하거나 업데이트합니다.
-
검증
- 원래 문제가 더 이상 재현되지 않는지 확인합니다.
- 기존 테스트 스위트를 실행하여 회귀를 탐지합니다.
- 필요한 경우 코드 리뷰를 수행합니다.
사용 예시
git bisect를 사용하여 버그를 도입한 커밋을 식별합니다.- 로그 파일을 분석하여 예외 패턴을 찾습니다.
- 변수 상태를 검사하기 위해 조건부 중단점을 설정합니다.
참고 사항
- 이 스킬은 모든 디버깅 시나리오에 적용 가능한 일반 프레임워크를 제공합니다.
- 특정 언어, 프레임워크, 또는 도구에 특화된 스킬과 함께 사용하여 시너지를 낼 수 있습니다.
- 디버깅 중에는 가정을 명확히 문서화하고, 각 단계에서의 결정을 기록하는 것이 좋습니다.