home강의 홈으로
Section 15. 코드파일 다루기
Lesson 5. 디버깅

VS Code의 디버깅 툴

  • 타 에디터/IDE에서도 유사 기능들 제공

index.js

let x = 1; const y = Math.ceil(Math.random() * 10); const rollDice = () => { const result = Math.ceil(Math.random() * 6); return result; } x += y; // 🔴 x *= y; x -= y; x ** (y % 3 + 1); // 🔴 for (let i = 0; i < 5; i++) { x = addOrSubtDice(x); // 🟢 } try { x.toUpperCase(); } catch (e) {} // x.toUpperCase(); function addOrSubtDice (x) { let dice = rollDice(); if (Math.random() > 0.5) dice *= -1; // 🟡 x += dice; // 위에 조건부 넣을 시 브레이크포인트 추가 return x; } x **= 2; // 🔴 console.log(x);
  • 먼저 몇 번 실행해보기


1. 기본 디버깅

  • 🔴 표시된 라인들에 Breakpoint 브레이크포인트 달기
  • Run and Debug 탭 열고 Node.js 모드로 디버깅 실행
  • Continue : 다음 브레이크포인트로 건너뜀
  • Step Over : 다음 라인으로 넘어감
  • 💡 VARIABLES 섹션에서 변수들의 값 확인하기
  • 💡 중간에 x, y의 값 수동으로 변경해보기
  • BREAKPOINTS 섹션에서 브레이크표인트들 비활성화, 전체삭제 해보기


2. 함수로 진입하기

  • 함수를 실행하는 라인에서 Step Into를 사용하여 함수로 진입
  • 👉 모든 라인을 확인하려면 Step Into로 모두 진행해도 무관
  • Step Out을 사용하여 빠져나오기
  • 함수 내에 브레이크포인트가 걸려 있다면 Step Into하지 않아도 진입
  • 💡 CALL STACK 섹션에서 함수 호출마다의 스택 확인하기
  • 💡 VARIABLES 섹션에서 각 스택에 속한 변수, this 값 확인하기


3. 오류와 예외처리된 사항 확인하기

  • Caught Exceptions 테스트
  • Uncaught Exceptions 체크온하고 오류 발생시킨 뒤 테스트해보기


4. 특정 값 WATCH하기

  • x, y, diceWATCH섹션에 추가하고 테스트
  • !!(x % 2) 등의 표현식 넣어보기


Conditional Breakpoint 걸어보기

  • 🟡 표시된 라인에 dice < 3 조건의 Expression 브레이크포인트 걸어보기
  • 🟢 표시된 라인에 > 3 조건의 Hit Count 브레이크포인트 걸어보기




브라우저의 디버깅 툴

index.html

<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>브라우저에서의 디버깅</title> <script defer src="./index.js"></script> </head> <body> </body> </html>
  • 라이브서버로 브라우저에서 실행
  • 개발자 도구에서 Sources 탭 열기
  • 안내된 단축키로 index.js 검색하여 열기
  • 브레이크포인트들 추가한 뒤 새로고침하여 디버깅 시작
  • VS 코드에서 사용했던 기능들 시도해보기 - 전반적으로 유사

🤔얄코에게 질문하기질문은 반.드.시 이리로 보내주세요! ( 강의사이트 질문기능 ✖ )

강의에서 이해가 안 되거나 실습상 문제가 있는 부분,
설명이 잘못되었거나 미흡한 부분을 메일로 알려주세요!

답변드린 뒤 필요할 경우 본 페이지에
관련 내용을 추가/수정하도록 하겠습니다.

이메일 주소
yalco@yalco.kr
메일 제목 (반드시 아래 제목을 붙여넣어주세요!)
[질문] 제대로 파는 자바스크립트 (유료 파트) 15-5

🛑질문 전 필독!!

  • 구글링을 먼저 해 주세요. 들어오는 질문의 절반 이상은 구글에 검색해 보면 1분 이내로 답을 찾을 수 있는 내용들입니다.
  • 오류 메시지가 있을 경우 이를 구글에 복붙해서 검색해보면 대부분 짧은 시간 내 해결방법을 찾을 수 있습니다.
  • 강의 페이지에 추가사항 등 놓친 부분이 없는지 확인해주세요. 자주 들어오는 질문은 페이지에 추가사항으로 업데이트됩니다.
  • "유료파트의 강의페이지는 어디 있나요?" - 각 영상의 시작부분 검은 화면마다 해당 챕터의 강의페이지 링크가 있습니다.
  • 질문을 보내주실 때는 문제가 어떻게 발생했고 어떤 상황인지 등을 구체적으로 적어주세요. 스크린샷을 첨부해주시면 더욱 좋습니다.
🌏 Why not change the world?