크롬 개발자도구(DevTools) 완전 활용법 — 네트워크, 콘솔, 디버거까지 실무 가이드
웹 개발자라면 ‘크롬 개발자도구(DevTools)’는 필수 무기입니다.
화면이 깨지거나, 버튼이 작동하지 않거나, API 응답이 늦을 때 가장 먼저 확인해야 할 도구가 바로 이것이죠.
이번 글에서는 초급 실무자가 알아야 할 DevTools의 핵심 탭(Elements, Console, Network, Sources)을 중심으로 실무 디버깅 노하우를 단계별로 정리했습니다.

1. 개발자도구 열기 — 기본 단축키와 패널 구조
크롬 개발자도구는 단축키 하나로 열 수 있습니다.
- **Windows / Linux:** Ctrl + Shift + I 또는 F12
- **Mac:** Command + Option + I
열면 기본적으로 오른쪽 또는 하단에 탭 형태의 패널이 나타납니다.
주요 패널은 다음과 같습니다.
- Elements: HTML과 CSS 구조 확인 및 실시간 수정
- Console: 자바스크립트 로그·에러·명령어 실행
- Network: 요청/응답, API 속도, 헤더, 응답코드 분석
- Sources: JS 코드 브레이크포인트 설정 및 디버깅
- Application: 쿠키, 로컬스토리지, 세션스토리지 관리
💡 팁: Ctrl + Shift + M (Mac: Command + Shift + M)을 누르면 모바일 기기 화면으로 전환되어 반응형 UI 테스트도 가능합니다.
2. Elements 탭 — HTML & CSS 실시간 수정
Elements 탭은 “화면의 뼈대와 옷”을 직접 조작할 수 있는 공간입니다.
특정 요소에 마우스를 올리면 페이지 내 위치가 하이라이트됩니다.
실무 활용 예시:
- 버튼 크기나 색상이 안 맞을 때 → 해당 요소 선택
- 오른쪽 스타일 패널에서 CSS 수정
- 실시간 반영으로 즉시 시각적 확인
<button class="submit">전송</button>
/* CSS */
.submit {
background-color: #007bff;
padding: 8px 16px;
}
💡 주의: Elements에서 수정한 내용은 브라우저에만 임시 반영됩니다. 서버에는 저장되지 않으므로, IDE 코드에 직접 반영해야 합니다.
3. Console 탭 — 자바스크립트 로그 & 에러 탐색
Console 탭은 프론트엔드 디버깅의 중심입니다.
여기에는 자바스크립트의 console.log() 출력, 오류 메시지, 네트워크 관련 경고까지 모두 표시됩니다.
console.log("폼 전송 시작");
console.warn("입력값 누락: email");
console.error("서버 응답 오류", response);
💡 실무 팁:
- console.clear() : 콘솔 초기화
- console.table(arr) : 배열 데이터를 표로 시각화
- filter: error : 에러만 필터링
특히 백엔드 로그(logback)와 Console 로그를 동시에 비교하면 화면과 서버 간 데이터 흐름을 빠르게 파악할 수 있습니다.


4. Network 탭 — API 요청 & 응답 확인
Network 탭은 백엔드와의 연결을 검증하는 가장 강력한 도구입니다.
화면에서 발생하는 모든 요청(API, 이미지, CSS, JS 파일 등)이 타임라인 형태로 표시됩니다.
주요 확인 포인트:
- Method: GET, POST 등 요청 방식
- Status: 200(성공), 400(요청 오류), 500(서버 오류)
- Time: 응답 속도(ms 단위)
- Payload: 요청 시 전송된 데이터
- Response: 서버에서 반환한 JSON/XML 결과
예시로 /api/login 요청이 실패했을 때, Network 탭에서 Response를 열면 에러 메시지(예: “Invalid password”)를 즉시 확인할 수 있습니다.
{
"status": "error",
"message": "Invalid password"
}
💡 실무 팁: - Preserve log 체크 → 페이지 새로고침 시 로그 유지 - Disable cache 체크 → 캐시 끄고 실제 요청 테스트 - Filter: XHR 선택 → API 요청만 보기
5. Sources 탭 — 자바스크립트 디버깅
Sources 탭에서는 자바스크립트 파일을 직접 열어 브레이크포인트를 설정하고 변수 상태를 확인할 수 있습니다.
이는 백엔드의 log.debug()와 유사한 역할을 합니다.
- 왼쪽에서 디버깅할 JS 파일 선택
- 줄 번호 클릭 → 브레이크포인트 설정
- 오른쪽 ‘Scope’ 창에서 변수 값 확인
- ‘Step Over (F10)’로 한 줄씩 실행
💡 활용 예: 폼 검증 로직이 동작하지 않을 때, 브레이크포인트를 setValidation() 내부에 걸어 값이 정상 전달되는지 확인합니다.


6. Application & Storage — 쿠키/세션 확인
Application 탭에서는 쿠키, 로컬스토리지(LocalStorage), 세션스토리지(SessionStorage)를 한눈에 볼 수 있습니다.
로그인 유지나 장바구니 데이터처럼 클라이언트 측 저장소를 관리할 때 매우 유용합니다.
예시:localStorage.setItem("userId", "abc123"); → 저장된 값은 Application 탭 → Local Storage에서 확인 가능합니다.
쿠키 만료시간, 도메인, 보안 설정도 확인할 수 있어 세션 만료 이슈를 추적할 때 자주 활용됩니다.
7. 실무 시나리오 — 프론트와 백엔드 로그를 연결하기
실제 프로젝트에서는 크롬 개발자도구 + 서버 로그(Logback) 조합으로 문제 원인을 찾는 경우가 많습니다.
예를 들어, “결제 버튼이 눌러지지 않는다”면 다음 순서로 접근합니다.
- Console 탭: 자바스크립트 오류 확인 (예: Uncaught TypeError)
- Network 탭: 요청 URL, 응답코드(400/500) 확인
- Response 탭: API 에러 메시지 확인
- 서버 Logback 로그에서 traceId로 동일 요청 검색
💡 핵심:</stron
'개발자 기초 & 실무' 카테고리의 다른 글
| REST API 설계 원칙 — 효율적인 요청/응답 구조 만들기 실무 가이드 (0) | 2025.11.18 |
|---|---|
| Tomcat 로그 보는 법 — 서버 로그로 에러 추적하기 실무 가이드 (0) | 2025.11.15 |
| 콘솔 로그로 디버깅하기 — println에서 logback까지 실무 가이드 (0) | 2025.11.13 |
| 화면에서 백단 쿼리로 파라미터 넘기기 — JSP & Servlet 실습 (0) | 2025.11.12 |
| 예외처리(try-catch-finally) 제대로 이해하기 — 실전 에러 대응법 (1) | 2025.11.11 |