1) 문제 파악 및 분석
: 발생 문제 파악, 문제 발생 조건 확인. 보고서, 오류 메시지, 시스템 로그 확인.
2) 원인 분석
: 문제 원인 확인. HW 결함, SW 버그, 설정 오류.
3) 해결책 도출
: 해결책 도출. 기술적 지식과 경험이 필요. 다양한 방법 고려
4) 조치 및 테스트
: 해결책 적용 및 시스템 확인. 여러번의 테스트가 필요할 수 있음.
5) 문제예방
: 문제가다시 발생하지 않고록 예방책 마련. 시스템 구성변경, 유지보수, 보안 강화.
1) print()
: 기본적인 디버깅 도구. 코드 실행 흐름과 변수값 확인에 사용. 작고 간단한 문제 확인
2) logging
: 로그를 기록 및 분석할 수 있는 도구. application 로그 관리 및 디버깅에 사용
3) pdb
: python 내장 디버깅 도구. 단계별 실행과 변수값 검사
4) IPython
: 상호작용을 할 수 있는 개발환경 제공하여 작은 부분을 실행 및 확인
5) cProfile
: 코드 프로파일링으로 실행시간 및 함수 정보 분석
6) traceback
: 예외처리 및 스택 추적 정보 분석.
7) Sentry, Rollbar
: 실시간 application 오류 및 예외 모니터링 및 추적
8) pyflama
: cpu 사용량 분석하여 성능 및 병목현상 파악
📌 병목현상(bottleneck)
: 시스템 및 프로세스에서 성능을 제한하는 한계점을 의미. 코드 실행중 가장 시간이 오래 리는 부분. 한계점을 최적화하여 실행시간 감축.