Claude Code로 교구 안 될 때 고치는 법 | 디버깅 기초 — 교사도 할 수 있습니다
만든 교구가 안 돌아가면 당황하죠? 저도 처음엔 그랬습니다.
HTML 파일을 더블클릭했는데 빈 화면이 나오거나, 버튼을 눌러도 아무 반응이 없거나, 글자가 깨져서 나오면... 솔직히 "아, 역시 나한테 코딩은 무리였나" 싶은 생각이 들잖아요.
그런데요, Claude Code한테 "이거 왜 안 돼?" 하면 알아서 고쳐줍니다. 진짜로요.
오늘은 교구가 안 될 때 당황하지 않고 해결하는 3가지 방법을 알려드리겠습니다. 코드를 읽을 줄 몰라도 전혀 상관없습니다.
📌 한눈에 보기
- 핵심: 에러의 원인을 몰라도 됩니다. Claude Code에게 파일만 알려주면 알아서 분석하고 고쳐줍니다.
- 방법 3가지: ① 그냥 물어보기 ② 브라우저 개발자도구 활용 ③ 단계별 확인
- 예방 팁: 만들 때 "테스트해보고 문제 있으면 알려줘"를 프롬프트에 추가
- 소요 시간: 대부분의 교구 에러는 1~2분이면 해결됩니다
교구가 안 될 때 흔한 증상 4가지
먼저, "안 된다"는 게 구체적으로 어떤 상황인지 정리해 볼게요. 여러분이 겪는 증상은 대부분 이 네 가지 중 하나입니다.
증상 1. 빈 화면
파일을 열었는데 하얀 화면만 나옵니다. 아무것도 보이지 않아요.
증상 2. 버튼이 안 눌림
화면은 보이는데, 버튼을 클릭해도 아무 반응이 없습니다.
증상 3. 글자 깨짐
한글이 ???????? 또는 ����로 나옵니다.
증상 4. 레이아웃 틀어짐
PC에서는 괜찮은데, 핸드폰으로 보면 글자가 잘리거나 버튼이 화면 밖으로 나갑니다.
어떤 증상이든 상관없습니다. 아래 방법을 따라하면 됩니다.
방법 1. Claude Code에게 그냥 물어보기
🎯 가장 쉬운 방법 — 그냥 "안 돼"라고 말하기
에러가 뭔지, 코드 어디가 문제인지 전혀 몰라도 됩니다. Claude Code는 파일을 직접 읽고 분석해서 문제를 찾아냅니다.
Claude Code가 실행된 상태에서, 이렇게만 입력하세요.
> 이 파일 실행했는데 빈 화면이야. 뭐가 문제인지 찾아서 고쳐줘
또는 좀 더 구체적으로:
> ox-quiz.html을 브라우저에서 열었는데 버튼을 눌러도 아무 반응이 없어.
원인 찾아서 고쳐줘
Claude Code는 이렇게 동작합니다:
- 해당 파일의 코드를 전부 읽습니다
- 문법 오류, 빠진 코드, 잘못된 로직을 자동으로 찾습니다
- "여기가 문제입니다"라고 설명해 줍니다
- 수정된 코드를 바로 파일에 반영합니다
여러분이 할 일은 브라우저에서 새로고침(F5)하는 것뿐입니다.
💡 파일 경로만 정확하면 됩니다
Claude Code가 작업 폴더 안에 있는 파일이라면, 파일 이름만 말해도 알아서 찾습니다. 만약 다른 폴더에 있다면, cd ~/Desktop/교구로 먼저 이동하거나, 전체 경로를 알려주세요.
방법 2. 브라우저 개발자도구 활용하기
🔧 에러 메시지를 복사해서 전달하면 더 정확합니다
브라우저에는 "개발자도구"라는 숨겨진 기능이 있습니다. 여기서 빨간색 에러 메시지를 복사해서 Claude Code에게 주면, 훨씬 빠르고 정확하게 문제를 해결합니다.
따라해 보세요. 정말 간단합니다.
Step 1. 개발자도구 열기
- 문제가 있는 HTML 파일을 브라우저(크롬)에서 엽니다
- 키보드에서
F12키를 누릅니다- 또는
Ctrl + Shift + I를 눌러도 됩니다
- 또는
- 화면 오른쪽(또는 아래쪽)에 뭔가 복잡한 패널이 열립니다 — 겁먹지 마세요!
Step 2. Console 탭에서 에러 찾기
- 열린 패널 상단에서
Console탭을 클릭합니다 - 빨간색 글자가 보이나요? 그게 에러 메시지입니다!
- 빨간색 메시지를 드래그해서 선택 → Ctrl+C로 복사합니다
Step 3. Claude Code에 붙여넣기
> 이 교구를 실행하면 아래 에러가 나와. 고쳐줘.
Uncaught TypeError: Cannot read properties of null
(reading 'addEventListener')
at ox-quiz.html:45
이렇게 에러 메시지를 함께 전달하면, Claude Code는 45번째 줄 근처의 문제를 정확히 파악하고 바로 고쳐줍니다.
❌ 에러 메시지 없이 물어볼 때
"안 돼요" → Claude가 전체 코드를 처음부터 분석
가능하지만 시간이 좀 더 걸림
✅ 에러 메시지와 함께 물어볼 때
에러 메시지 복붙 → 문제 위치 바로 파악
빠르고 정확한 수정!
방법 3. 단계별로 확인하기
🧱 하나씩 쌓아올리는 방법
교구가 복잡할수록 문제를 찾기 어렵습니다. 이럴 때는 "레이어를 한 겹씩 추가"하는 전략이 효과적입니다.
Claude Code에게 이렇게 순서대로 요청해 보세요.
# 1단계: HTML 뼈대만 먼저
> 이 교구에서 HTML 구조만 먼저 보여줘. CSS랑 JavaScript는 빼고.
# 2단계: 뼈대가 잘 보이면 CSS 추가
> 좋아, 이제 CSS 스타일을 추가해줘
# 3단계: 스타일도 괜찮으면 JS 추가
> 이제 JavaScript 기능을 추가해줘
이렇게 하면 어느 단계에서 문제가 생기는지 바로 알 수 있습니다.
- 1단계에서 깨지면 → HTML 구조 문제
- 2단계에서 깨지면 → CSS 스타일 문제
- 3단계에서 깨지면 → JavaScript 로직 문제
문제가 생긴 단계를 Claude Code에게 알려주면, 해당 부분만 집중적으로 수정해 줍니다.
💡 이 방법이 특히 유용한 경우
교구 코드가 200줄이 넘어가는 복잡한 경우, 또는 여러 기능(타이머 + 점수판 + 애니메이션)이 섞여 있는 경우에 효과적입니다. 처음부터 한꺼번에 넣으면 뭐가 문제인지 찾기 어렵거든요.
실전 예시: 타이머가 안 되는 교구
📖 상황
통합사회 OX퀴즈 교구를 만들었는데, 문제당 30초 타이머를 넣었습니다. 그런데 타이머가 시작은 되는데 0초가 되어도 자동으로 다음 문제로 안 넘어갑니다.
1단계: 브라우저에서 에러 확인
F12 → Console 탭을 열어봅니다. 이런 메시지가 보입니다:
❌ Uncaught TypeError: Cannot read properties of null
(reading 'textContent')
at nextQuestion (ox-quiz.html:87)
2단계: Claude Code에 전달
> ox-quiz.html에서 타이머가 0이 되면 다음 문제로 넘어가야 하는데 안 넘어가.
Console에 이 에러가 나와:
Uncaught TypeError: Cannot read properties of null
(reading 'textContent') at nextQuestion (ox-quiz.html:87)
3단계: Claude Code가 분석하고 수정
Claude Code의 응답 (예시):
🔍 문제를 찾았습니다!
87번째 줄에서 nextQuestion 함수가 다음 문제의 텍스트 요소를
찾으려고 하는데, 마지막 문제 이후에는 더 이상 요소가 없어서
null 에러가 발생하고 있었습니다.
✅ 수정 내용:
- 마지막 문제인지 확인하는 조건문을 추가했습니다
- 마지막 문제 이후에는 결과 화면을 표시하도록 변경했습니다
✅ Updated ox-quiz.html
4단계: 확인
브라우저에서 F5(새로고침)를 누르면 — 타이머가 정상 작동합니다!
전체 과정이 2분도 안 걸렸습니다. 코드를 한 줄도 직접 수정하지 않았고요.
💡 핵심: "왜 안 되는지" 설명 안 해도 됩니다
파일 경로만 알려주면 Claude가 알아서 분석합니다
많은 선생님들이 "코드를 모르니까 뭐가 문제인지 설명할 수가 없다"고 걱정하시는데요. 걱정 안 하셔도 됩니다.
Claude Code는 여러분이 만든 파일의 코드를 처음부터 끝까지 읽고 분석합니다. 이런 것들을 자동으로 해줘요:
- 문법에 오류가 있는지 (괄호가 빠졌다든지, 오타가 있다든지)
- 로직이 맞는지 (순서가 뒤바뀌었다든지, 조건이 잘못됐다든지)
- 서로 연결이 안 된 부분이 있는지 (HTML에서 버튼 이름은 A인데 JavaScript에서 B를 찾고 있다든지)
그래서 이렇게만 말해도 충분합니다:
> 이 파일이 안 돼. 뭐가 문제야?
물론 에러 메시지를 함께 주면 더 빠르지만, 없어도 괜찮습니다. Claude Code가 알아서 찾아냅니다.
💡 예방 팁: 만들 때부터 테스트 요청하기
사실 가장 좋은 디버깅은 처음부터 에러가 안 나게 만드는 것이죠. 교구를 만들 때 프롬프트 끝에 이 한 줄만 추가해 보세요.
> OX퀴즈 HTML 교구를 만들어줘. 과목은 통합사회,
문제는 5개, 타이머 30초.
다 만들면 테스트해보고 문제 있으면 알려줘.
이 한 줄이 추가되면, Claude Code는:
- 교구를 만들고
- 스스로 코드를 검토해서
- 문제가 있으면 알아서 수정한 다음
- "이런 부분을 수정했습니다"라고 보고까지 해줍니다
⚠️ 그래도 100%는 아닙니다
Claude Code가 아무리 똑똑해도 모든 문제를 미리 잡지는 못합니다. 특히 "브라우저에서 실제로 열어봐야 발견되는 문제"(글자 크기가 너무 작다, 색상 조합이 눈에 안 들어온다 등)는 여러분이 직접 확인해야 합니다. 그래도 코드 문법 오류 같은 건 거의 다 잡아줘요.
자주 발생하는 에러 TOP 5
교구를 만들다 보면 자주 만나게 되는 에러들이 있습니다. 이 표를 참고해서 Claude Code에게 전달해 보세요.
| # | 에러 메시지 (요약) | 무슨 뜻이냐면 | Claude Code에게 이렇게 말하세요 |
|---|---|---|---|
| 1 | Cannot read properties of null |
HTML에서 특정 요소를 찾지 못했어요. 이름(id)이 틀렸거나, 아직 화면에 안 그려진 상태에서 접근했어요. | "이 에러가 나와. 요소 이름이 안 맞는 것 같은데 확인하고 고쳐줘" |
| 2 | Unexpected token |
코드에 오타가 있어요. 괄호나 따옴표가 빠졌거나 잘못 닫혔어요. | "문법 오류가 있다고 하는데, 코드 전체 검사해서 고쳐줘" |
| 3 | is not a function |
존재하지 않는 함수를 호출하고 있어요. 함수 이름에 오타가 있거나, 함수를 정의하지 않았어요. | "함수가 없다는 에러가 나와. 함수 이름이 맞는지 확인하고 수정해줘" |
| 4 | 한글 깨짐 (����) | 파일의 인코딩 설정이 빠졌어요. | "한글이 깨져 나와. <meta charset> 확인하고 수정해줘" |
| 5 | 모바일에서 레이아웃 깨짐 | 반응형 디자인 설정이 없어요. | "핸드폰에서 보면 레이아웃이 깨져. 모바일 대응 추가해줘" |
💡 표에 없는 에러가 나왔다면?
걱정 마세요. 에러 메시지가 뭐든 간에, 그냥 통째로 복사해서 Claude Code에 붙여넣으면 됩니다. 여러분이 에러를 이해할 필요가 없어요. Claude Code가 이해하면 되니까요.
오늘 배운 것 정리
😰 예전에는...
"교구가 안 되네... 코드를 모르니까 어쩔 수가 없다. 포기해야겠다."
💪 이제는!
"안 되네? Claude Code한테 물어보자." → 2분 후 해결!
- 방법 1 (가장 쉬움): Claude Code에게 "이 파일 안 돼. 고쳐줘"
- 방법 2 (더 정확): F12 → Console → 빨간 에러 복사 → Claude Code에 붙여넣기
- 방법 3 (복잡할 때): HTML → CSS → JS 순서로 단계별 확인
- 예방법: "테스트해보고 문제 있으면 알려줘" 프롬프트 추가
기억하세요. 코딩을 몰라도 디버깅할 수 있습니다. 여러분은 "안 되는 증상"만 설명하면 됩니다. 원인을 찾고 고치는 건 Claude Code의 몫이에요.
🚀 다음 글 예고
Claude Code로 교구 업그레이드하기
기존 교구에 새 기능을 추가하는 방법 — 타이머, 랭킹보드, 소리 효과 등
"여기에 이 기능 추가해줘" 한 마디로 교구가 진화합니다!
곧 찾아옵니다 👋
교구 만들다가 막히셨나요? 댓글로 에러 메시지를 남겨주시면 함께 해결해 드리겠습니다! 같은 문제로 고민하는 선생님이 분명 계실 거예요. 😊
대화 참여하기