[출근 63일 차] 지금 하고 있는 건 디제잉🎧이 아닌, 디버깅!

발송일
Jul 1, 2020
분류
뽀식이 메모
카테고리
개발/IT
뽀-하! (뽀식 하이)
며칠째 머리를 싸매고 계신 개발자님…
김뽀식은 눈치가 잔뜩 보인다.
 
뽀식: (달달한 마카롱을 사다 드릴까? 신나는 음악이라도 틀어볼까?)
이때, 갑자기 무릎을 탁! 치는 경쾌한 소리가 사무실에 울려 퍼진다.
개발자님: 뽀식님! 드디어 해결 했어요! 디버깅 해봤더니 로그인 인증 부분이 꼬였더라구요!
뽀식: (디버깅이요? 제가 디제잉은 좀 하는데…)

 
notion imagenotion image

디버깅(Debugging)

프로그래밍에서 오류(bug)를 찾아 수정하는 것을 의미.
디버깅은 거의 모든 S/W와 H/W 개발에서 반드시 처리해야 하는 과정입니다.
(하나의 완성된 프로그램을 만들 때 보통 가장 많은 시간을 디버깅에 할애한다고..)
 
(+) 디버거(Debugger): 작업에 사용되는 소프트웨어(S/W)를 의미.
‘xUnit’ 등을 이용해서 단위 test를 자동화하면 디버깅 시간 대폭 감소할 수 있다고 함!

친절한 뽀식 pick

더 알아두면 좋은 정보💡
 
디버깅은 어떻게 하나요?
 
[디버깅 방법]
  1. 원시 프로그램 추적 (오류가 발생한 데이터를 이용) & 프로그램을 읽어가며 분석하기
  1. 프로그래머가 제공하는 각종 정보 & 디버거를 이용하기(누구든지 가능 OK)
 
[디버깅을 체계적으로 하는 프로세스]
  • 실패하는 테스트 케이스 만들기: 문제 현상에 대한 명확한 재현 조건 찾기
  • 왜 실패하는지 살펴보기: 문제를 일으키는 코드 찾기
  • 테스트 케이스 통과시키기: 장단점을 고려하여 팀 상황에 맞는 해결책 적용
  • 리팩토링: 다음에 비슷한 문제가 발생했을 때 더 쉽게 해결할 수 있도록 환경 개선
 
<더 읽을만한 글>