본문 바로가기
문제해결/공부하는 과정에서 해결한 것들

자바스크립트 디버깅(debugging) 해보기(feat. vsc & 개발자도구)

by whale in milktea 2023. 1. 4.

1. Microsoft에서 제시하고 있는 디버깅의 개념 & 코린이에게의 디버깅

링크 : https://learn.microsoft.com/ko-kr/visualstudio/debugger/what-is-debugging?view=vs-2022 

 

디버깅이란 무엇인가요? - Visual Studio (Windows)

앱을 디버그한다는 것의 의미를 알아봅니다.

learn.microsoft.com

마이크로소프트에서는 디버깅의 개념을 코드에서 버그를 제거하는 일로 정의한다.

 

1-2# 하지만 나처럼 개발공부를 시작한지 1달도 채 안된 코린이 입장에서 디버깅이란,

조건문, 반복문 등의 개념을 학습하는 과정에서 '내가 알지 못하는' 자바스크립트가 코드를 읽어가며 산출하는 결과값들을 차례로 살펴보고 코드를 점검하기 위한 도구이다.

 

2. 디버깅을 했을 때 어떤 결과들을 차례로 살펴볼 수 있을까?

// 초간단 예시!
for (let i = 1; i <= 10; i++) {
    console.log(i+'차 반복');
    // 예측1) 1차 반복
    // 예측2) 2차 반복
    // ...
}

내가 살펴보고 싶은 건, console.log를 통해 console창에 광속으로 찍히는 결과가 아닌,

 

/*

처음 i = 1이고(초기값), i가 10보다 작다면(조건식)? { }안에 있는 실행문을 실행하고(실행문), 이후 1을 더한 뒤(증감식) 

두번째 i = 2이고, i가 10보다 작다면? 실행문을 실행하고, 이후 1을 더한 뒤

세번째 i = 3이고, i가 10보다 작다면? 실행문을 실행하고, 이후 1을 더한 뒤

...

*/

 

요걸 확인하고 싶다.

 

3.  Chrome 개발자 도구로 디버깅해보기.

===> 그 전에! 디버깅에 있어서 더 많은 지식을 바탕으로 더 복잡한 작업을 점검하기 위한 정보들이 분명 많을 것이다!

===> 하지만! 여기서는... 그냥 초보개발자가 디버거를 통해 갑갑한 지금의 상황을 조금이나마 타개하기 위한 방법으로 사용하는데 집중한다! (선택과 집중은 언제나 옳으니..)

 

사실 되게 쉽다... 디버깅해보고 싶은 식 위에 debugger; 하나만 추가해주면 되드라....ㅠㅠ

debugger;
for (let i = 1; i <= 10; i++) {
    console.log(i+'차 반복');
    // 예측1) 1차 반복
    // 예측2) 2차 반복
    // ...
}

* 크롬에서 개발자 도구를 열고! 콘솔 창에 들어가서~ debugger;를 넣은 코드를 입력하고 그냥 enter!

* 상단 중앙 쯤에 "초록색"으로 활성화 되어있는 지점과 "옅은 회색"으로 강조된 지점을 주목하자앙!

* 거기에 플러스!!!!

하단 화면 기준으로 우측 상단에 있는 여러 버튼 중 빨간 색으로 표시된 버튼을 누르면 한단계, 한단계 나눠서 디버깅이 가능하다!(vs code도 동일!)

* debugger; ===> 이제 디버깅 시작한다아!
* i = 0 ===> 오! 새롭게 정의된 카운트를 위한 변수 i의 초기값은 0이구만!
i < 10 ===> 오홍 i가 0이고, 10 이하니까 실행문 하면 되겄네?
console.log(i + '차 반복') ===> (지금은 0인) i에 '차 반복'이라는 문자열을 붙여서 콘솔에 출력하시오!
중단보다 조금 아래의 콘솔창에 보면 '0차 반복'이 출력되어 있고, 좌측에 범위라는 칸에 보면 i:0차시임이 나와 있으며, 디버거는 i++(1씩 증가)라는 증감식을 확인!
(지금은 증감식이 적용되어 1이 된) i가 10보다 작다는 걸 확인! / 좌측 범위 칸에 보면 i: 1로 바뀐걸 확인!
위와 동일한 형식으로 출력! ( i + '차 반복')
하단에 1차 반복이 콘솔에 찍혀있는걸 확인할 수 있다.

 

4. VS Code로 디버깅해보기!

먼저 VS code로 들어가서, 위와 동일한 방식으로 코드를 입력한다.

그리고 (맥북) 상단 독에 이동 -> 디버그 시작 or F5 or 윈도우는 모름...;;;

그리고 중앙에 node.js(설치되어 있는 경우!) 선택!

===>  node.js 설치는 구글에 많이 나와있음.... 없는데 급하다! 하면 그냥 크롬 개발자도구 추처언!

 

그 이후는 개발자 도구와 유사하다!

VSC(타이핑하기 귀찮아서.. vs code)에서 동일하게 코드를 입력한 뒤에,
상단 독에서 실행창 클릭! or 단축키 Fn + F5
개발자도구랑 똑같이 "이제 debug 시작할게에?"
개발자 도구와 동일한 과정! ===> i는 0이구나..
응.. 10보다 작네..
시키는 대로 콘솔에 출력하자... i + '차 반복'
증감식 한번 스윽 확인해주고..
반복..^0^

 

우리 존재 화이팅!