codingstairs
노트에듀라이프연락
⌕검색⌘K
koen

Navigation

  • Intro
  • Blog
  • Life

연락하기

로그인 없이도 보낼 수 있어요. 답변이 필요하면 이메일을 함께 적어 주세요.

  • 익명 폼으로 의견 남기기 →
  • ✉ warragon112@gmail.com
  • 카카오톡 오픈채팅 ↗

© 2026 codingstairs

  • 노트
  • 에듀
  • 검색
  • 라이프
  • 연락
  • 약관
  • RSS
  • GitHub
노트›web-fundamentals

브라우저 DevTools — 디버깅의 첫 도구

2026-04-28 게시· 2026-05-18 갱신·0회 조회

브라우저 DevTools — 디버깅의 첫 도구

처음 몇 달의 프론트엔드 작업 가운데 절반은 DevTools 사용법을 익히는 시간이라 해도 과장이 아닙니다. 콘솔에 값을 찍고, 네트워크 요청을 검사하고, 스타일을 즉석에서 바꿔 보고, 모바일 화면을 시뮬레이션 하는 모든 작업이 한 패널 안에서. 이 글은 DevTools 의 출자 · 핵심 패널 · 자주 쓰는 디버깅 흐름.

1. DevTools 에 대한 이야기

브라우저에 내장된 개발자 도구는 2006 년 Mozilla 의 Firebug 확장이 첫 인기를 얻었고, 2008 년 Google Chrome 출시와 함께 Chrome DevTools 가 표준 도구의 자리에. Safari 는 Web Inspector, Firefox 는 자체 Developer Tools. Edge 는 Chromium 기반이라 Chrome 과 거의 같음.

여는 단축키:

OS · 브라우저 단축키
Windows · Chrome / Edge / Firefox F12 또는 Ctrl + Shift + I
macOS · Chrome / Edge / Firefox Cmd + Option + I
macOS · Safari Cmd + Option + I (먼저 환경설정 > 고급 > 개발자용 메뉴 활성화)

특정 요소를 곧장 검사하려면 우클릭 → "검사" / "Inspect Element" 가 가장 빠름.

2. 핵심 패널

패널 쓰임
Elements DOM 트리 · CSS 스타일 검사. 라이브 편집
Console JS 실행 · console.log 출력 · 에러
Sources 소스 파일 보기 · 브레이크포인트 · 디버거
Network HTTP 요청 · 응답 · 헤더 · payload · 타이밍
Performance CPU 프로파일 · 렌더링 타임라인
Memory 힙 스냅샷 · 메모리 누수 추적
Application 쿠키 · LocalStorage · IndexedDB · Service Worker · Cache
Lighthouse 성능 · 접근성 · SEO 자동 감사
Security 인증서 · HTTPS 상태
Recorder (Chrome) 사용자 흐름 녹화 · 재생

3. Elements 패널

DOM 을 트리로. 노드를 선택하면 오른쪽에 적용된 CSS 가 우선순위 순서로 정렬되어 나옴. 줄을 클릭해 즉석에서 값을 바꿀 수 있고, 변경은 새로고침 시 사라짐.

Computed 탭은 최종적으로 적용된 모든 스타일을, Layout 탭은 박스 모델 시각화를, Accessibility 탭은 계산된 ARIA 속성을 보여 줌.

4. Console 패널

console.log("기본 출력");
console.warn("경고");
console.error("에러");
console.table([{ id: 1, name: "a" }, { id: 2, name: "b" }]);
console.dir(document.body);
console.time("step"); /* ... */ console.timeEnd("step");
console.trace();             // 호출 스택 출력
console.assert(x > 0, "양수여야");

$0 은 Elements 에서 마지막에 선택한 노드, $_ 는 마지막 식의 결과를 가리키는 콘솔 전용 변수.

5. Sources 패널

JS 디버거. 소스 파일에서 줄 번호를 클릭하면 브레이크포인트. 실행이 멈추면 변수 · 콜 스택 · 스코프를 검사.

단축키 (Win · Mac 공통) 동작
F8 또는 Ctrl/Cmd + \ 다음 브레이크포인트까지 실행
F10 step over (다음 줄, 함수 안으로 안 들어감)
F11 step into (함수 안으로)
Shift + F11 step out (함수 밖으로)

브레이크포인트 종류:

  • Line breakpoint — 줄에서 멈춤.
  • Conditional breakpoint — 조건이 참일 때만.
  • Logpoint — 코드 수정 없이 콘솔 로그만 추가.
  • DOM breakpoint — 특정 노드의 변경 시 멈춤.
  • XHR / Fetch breakpoint — 특정 URL 요청 시.
  • Event listener breakpoint — click · keydown 등 이벤트 발생 시.

6. Network 패널

HTTP 트래픽을 실시간으로. 자주 쓰는 기능:

  • 필터 — XHR · JS · CSS · Img · Doc 카테고리 또는 정규식.
  • Preserve log — 페이지 이동 시에도 기록 유지. 로그인 흐름 디버깅에 필수.
  • Disable cache — DevTools 가 열려 있는 동안 캐시 비활성. 변경된 정적 파일이 안 들어올 때.
  • Throttling — 느린 3G 시뮬레이션.
  • 요청 클릭 — Headers · Payload · Preview · Response · Timing 으로 분해.

요청 우클릭의 Copy as cURL 은 같은 요청을 터미널에서 재현할 수 있는 한 줄. 백엔드 디버깅에 자주.

7. Application 패널

브라우저 저장소를 모두 보는 자리:

  • Cookies — 이름 · 값 · 도메인 · HttpOnly · Secure · SameSite 확인. 인증 디버깅의 첫 자리.
  • Local Storage / Session Storage — 키-값 직접 편집.
  • IndexedDB — 객체 저장소를 트리로.
  • Service Workers — 등록된 워커, 강제 갱신 · 언레지스터.
  • Cache Storage — 워커가 캐싱한 자원.

8. Performance · Lighthouse · 모바일 에뮬레이션

Performance — 녹화 버튼을 누르고 페이지를 조작한 뒤 멈추면 CPU · 네트워크 · 렌더링 타임라인. Long Task (50 ms 이상 걸린 작업) 는 빨간 막대.

Lighthouse — 자동화된 페이지 감사. Performance · Accessibility · Best Practices · SEO 의 4 축을 100 점 만점으로. 결과 페이지의 권장 사항이 학습 포인트.

모바일 에뮬레이션 — DevTools 좌상단의 "Toggle device toolbar" (Win: Ctrl + Shift + M, Mac: Cmd + Shift + M) 로 모바일 뷰포트 시뮬레이션. iPhone · Pixel 등 프리셋. User-Agent 와 터치 이벤트도 흉내. 진짜 모바일 검증은 실제 단말이 필요.

9. Chrome DevTools Protocol (CDP)

DevTools 자체가 브라우저와 통신하는 프로토콜이 공개. Puppeteer · Playwright 같은 자동화 도구가 CDP 를 통해 브라우저를 조작. 디버깅 도구와 자동화 도구가 같은 표면을 공유.

10. 다른 길

  • VS Code 디버거 — Chrome / Edge 에 attach 해 IDE 안에서 브레이크포인트.
  • React Developer Tools / Vue DevTools / Redux DevTools — 프레임워크 전용 확장. 컴포넌트 트리 · 상태 변화 검사.
  • Postman · Insomnia · Bruno — API 호출 도구. Network 탭의 보완.
  • Wireshark · tcpdump — 패킷 단위 분석.

11. 작은 디버깅 흐름

  1. 페이지에서 버튼이 안 눌림.
  2. Console 탭으로 가 빨간 에러 확인.
  3. 에러 메시지의 파일 · 줄 클릭 → Sources 패널에서 해당 줄로 이동.
  4. 그 줄에 브레이크포인트.
  5. 페이지 새로고침, 다시 버튼 클릭.
  6. 멈춘 자리에서 변수와 콜 스택 검사.
  7. 가설을 세워 코드 수정 → 다시 시도.

12. 자주 걸리는 자리

콘솔의 빨간 에러를 못 본 채 다른 자리를 의심 — 디버깅의 첫 단계는 항상 콘솔.

네트워크 요청이 4xx / 5xx 인데 응답 본문에 자세한 메시지 — Response 탭을 꼭 펼쳐 봄.

페이지 이동 후 Network 로그가 사라져 인증 흐름을 못 추적 — "Preserve log" 켜기.

Service Worker 가 옛 자원을 계속 내줌 — Application > Service Workers 에서 unregister 또는 "Update on reload".

DevTools 자체의 캐시 — 같은 URL 의 다른 응답을 보고 싶을 때 Disable cache.

JS 가 minify 돼 한 줄 — Pretty print 버튼 ({}) 을 누르면 가독성 있게 펼침. Source map 이 있으면 원본도 함께.

하고픈 말

DevTools 의 Console · Network · Sources · Application 네 패널이 디버깅의 90% 를 커버합니다. 빨간 에러 메시지의 출처를 따라 들어가는 것이 가장 빠른 길. 자동화된 검증은 chrome-devtools MCP · Playwright 가 같은 토대 위에. 신참 개발자가 가장 먼저 익혀야 할 도구이자, 10 년 후에도 매일 쓰는 도구.

Next

  • (web-fundamentals 끝)

Chrome DevTools Documentation · Firefox Developer Tools · Safari Web Inspector Reference · Chrome DevTools Protocol Viewer · React Developer Tools · Vue DevTools · Lighthouse · The History of Firebug (Wikipedia) 를 참고합니다.

web-fundamentals 카테고리의 다른 글

카테고리 전체 보기 →
  • 인터넷은 어떻게 동작하는가
  • URL 의 해부 — 주소창의 한 줄 읽기
  • HTTP 와 REST — 클라이언트와 서버의 약속
  • JavaScript 기초 — 브라우저의 동적 언어
  • CSS — 모양과 배치
  • HTML — 웹 페이지의 뼈대