3장 효율적으로 에러의 원인 찾기

디버깅에 대한 방법을 배우자. 이것이 바로 효율적으로 에러의 원인을 찾는 방법

디버깅이란 에러의 원인을 특정하고 수정하는 작업이다. 앞 장에서 나온 에러를 읽는 것도 디버깅의 한 가지라고 할 수 있다.

01. 디버깅이란?

디버깅(debugging)이란 에러의 실제 원인을 찾고 수정하는 작업을 말한다. 디버깅 스킬은 효율적인 프로그래밍에 큰 영향을 준다.

디버그(debug) =프로그램 내 에러를 의미하는 버그(bug) + de(제거하다)

1) 디버깅의 흐름

원인 찾기 → 에러 읽기 → 원인 파악 → 수정하기 → ? → 원인 파악 → 수정하기

과장해서 표현하자면 디버깅은 에러의 원인만 특정할 수 있다면 이미 끝난 것이나 다름없다.

에러가 보이지 않거나 에러를 이해할 수 없을 때도 있다. 이때는 프린트 디버깅 방법과 이진 탐색을 활용하여 에러의 원인을 찾아볼 수 있다.

2) 프린트 디버깅을 해보자

프린트 디버깅의 프린트는 문자 그대로 프로그램이 무언가를 출력(print)한다는 의미로, 디버깅 중 프로그램의 상태를 표시하기 위해 사용한다.

각 프로그래밍 언어에는 변수를 출력하기 위한 함수가 존재하는데, 이 출력 함수를 사용하면 프로그램에서 변수의 내용을 확인하고 프로그램의 상태를 해석하면서 문제가 발생한 위치 특정 가능하다.

function calcSum(a, b) {console.log('인수의 값 : a = ${a} / b = ${b}');const sum = a + b;console.log('처리 결과 : sum = ${suin}');return sum;const sum = calcSumO, 2);console.log('함수의 반환값 : ${sum}');

특정 위치의 변숫값을 출력하면서 프로그램이 정상적으로 작동하는지 확인하는 것이 프린트 디버깅의 기본

Last updated