개발 실무

[Claude Code 실전 정복 #5] 에러 메시지 붙여넣으면 알아서 고쳐주는 버그 수정 실전기 (2026)

체리플랜 2026. 5. 11. 18:00
반응형

시리즈: Claude Code 실전 정복 | 5편
작성자: 체리플랜 | 7년차 프론트엔드 개발자

이전 편: Claude Code로 React 컴포넌트 만들기 — AI Diary부터 Movie Log까지

 

[Claude Code 실전 정복 #4] Claude Code로 React 컴포넌트 만들기 — AI Diary부터 Movie Log까지 실전 (2026)

시리즈: Claude Code 실전 정복 | 4편작성자: 체리플랜 | 7년차 프론트엔드 개발자1편: [설치 + 첫 실행]2편: [VS Code 연동 + 실전 워크플로우]3편: [CLAUDE.md 완전 정복]컴포넌트 하나 만들려고 디자인 고민

cherrycoding0.tistory.com

 


cherryplan 허브 프로젝트에서 Movie Log 미니앱 만들다가 이런 에러가 떴어요.

TypeError: Cannot read properties of undefined (reading 'map')
    at MovieList (MovieList.jsx:24:18)
    at renderWithHooks

예전이었으면 이랬을 거예요. 에러 메시지 복사 → 구글 검색 → Stack Overflow 찾기 → 버전이 달라서 적용 안 됨 → 다시 검색. 이 사이클을 30분~1시간씩 반복했겠죠.

Claude Code 쓰고 나서는 달라졌어요. 에러 메시지 그대로 터미널에 붙여넣고 "이 에러 고쳐줘"라고 했더니, 24번째 줄 코드를 직접 열어서 원인을 찾고 수정까지 해줬어요. 걸린 시간 2분이요.

오늘은 이 흐름을 실전 사례 중심으로 정리해볼게요.

"에러 나면 Claude한테 던진다"는 게 실제로 얼마나 효과적인지, 어떻게 던져야 제대로 고쳐주는지까지요.

 


Claude Code가 버그를 고치는 방식이 뭔데요?

일반 ChatGPT에 에러 물어보면 "이런 경우에는 이렇게 해보세요" 하고 코드 예시를 줘요. 그걸 받아서 내 코드에 적용하는 건 내가 해야 하죠.

Claude Code는 달라요. 터미널에서 실행되면서 내 프로젝트 파일에 직접 접근할 수 있어요. 그래서 에러 메시지를 주면 관련 파일을 직접 열고, 원인 되는 코드를 찾아서 수정까지 해줘요. 내가 할 일은 수정된 결과를 보고 "이게 맞나?" 확인하는 것뿐이에요.

실제로 써보니 이랬어요. 처음엔 "설마 그냥 고쳐주겠어?" 반신반의했는데, 에러 메시지만 넣었는데 파일 경로까지 직접 찾아가서 수정하는 걸 보고 진짜 놀랐어요. 단순 오탈자 버그는 10초도 안 걸려요.


실전 사례 3가지 — 이렇게 던졌더니 이렇게 고쳐줬어요

사례 1. undefined map 에러 (가장 흔한 유형)

에러 메시지

TypeError: Cannot read properties of undefined (reading 'map')
    at MovieList (MovieList.jsx:24:18)

 

Claude Code한테 이렇게 입력했어요

이 에러 고쳐줘:
TypeError: Cannot read properties of undefined (reading 'map')
    at MovieList (MovieList.jsx:24:18)

Claude Code가 한 것

MovieList.jsx 파일을 직접 열어서 24번째 줄을 확인했어요. movies.map(...) 으로 쓰여 있었는데, movies가 API 응답 전에 undefined인 상태에서 렌더링되는 게 원인이었어요.

수정 결과:

// 수정 전
{movies.map((movie) => (
  <MovieCard key={movie.id} movie={movie} />
))}

// 수정 후
{movies?.map((movie) => (
  <MovieCard key={movie.id} movie={movie} />
)) ?? <p>불러오는 중...</p>}

옵셔널 체이닝이랑 폴백 UI까지 한 번에 처리해줬어요.

실제로 써보니 이랬어요. 이 에러는 7년 개발하면서 수백 번 본 에러예요. 원인도 수정 방법도 알고 있는데, 매번 "어디서 터진 거야" 하고 파일 찾는 시간이 아까웠거든요. Claude Code는 그 탐색 시간을 없애줘요.

 


사례 2. 모듈 import 에러

에러 메시지

Module not found: Error: Can't resolve './components/DiaryEditor'
    at ./src/pages/AIDiary.jsx

 

Claude Code한테 이렇게 입력했어요

이 에러 고쳐줘:
Module not found: Error: Can't resolve './components/DiaryEditor'

 

Claude Code가 한 것

파일 구조를 직접 스캔해서 DiaryEditor 파일이 실제로 어디 있는지 찾았어요.

components/diary/DiaryEditor.jsx에 있는 걸 확인하고 import 경로를 바로 수정해줬어요.

// 수정 전
import DiaryEditor from './components/DiaryEditor';

// 수정 후
import DiaryEditor from './components/diary/DiaryEditor';

 

실제로 써보니 이랬어요. 폴더 구조 바꾸고 나서 import 경로 못 따라간 경우예요.

파일이 많아질수록 이런 실수가 자주 생기는데, Claude Code가 프로젝트 파일 구조를 직접 뒤져서 찾아주니까

경로 오타 관련 버그는 거의 신경 쓸 일이 없어졌어요.


사례 3. 콘솔 에러 + 증상 설명 조합

에러 메시지가 딱 안 떨어지는 경우도 있어요. 콘솔엔 에러 없는데 화면에 데이터가 안 뜨는 상황 같은 거요.

이렇게 입력했어요

콘솔 에러는 없는데 MovieLog 페이지에서 영화 목록이 안 뜨고 있어.
useEffect로 API 호출하고 있고, 응답은 오는 것 같은데 화면엔 빈 화면만 나와.
관련 파일 봐줘.

 

Claude Code가 한 것

MovieLog.jsx 랑 API 호출 훅 파일을 같이 열어서 원인을 찾았어요. API 응답 구조가 { results: [...] } 인데 data 를 그대로 state에 넣어서 배열이 아닌 객체가 저장되고 있었던 게 문제였어요.

// 수정 전
setMovies(data);

// 수정 후
setMovies(data.results);

실제로 써보니 이랬어요. 이 케이스가 제일 신기했어요. 에러 메시지도 없고 증상만 설명했는데, 관련 파일을 다 열어보고 데이터 흐름을 추적해서 원인을 찾더라고요. 개인적으로 이게 Claude Code가 일반 AI 챗봇이랑 다른 핵심 차이라고 생각해요.

 


더 잘 고쳐주는 입력 방법

에러 메시지만 던지는 것보다, 아래처럼 맥락을 같이 주면 정확도가 확실히 올라가요.

[에러 메시지]
TypeError: Cannot read properties of undefined (reading 'map')

[상황]
Movie Log 페이지에서 TMDB API 호출 후 결과를 렌더링하려는 중

[내가 시도한 것]
movies 초기값을 [] 로 설정해봤는데도 같은 에러

이렇게 입력하면 Claude Code가 관련 파일을 더 정확하게 좁혀서 열어요. 엉뚱한 파일 열고 헤매는 시간이 줄어들어요.

딱 하나만 기억하면 돼요. 에러 메시지 + 어떤 기능에서 났는지 이 두 개만 같이 주면 충분해요.


솔직한 한계

① 처음 보는 라이브러리 에러는 가끔 틀려요

자주 쓰이는 React, Next.js 에러는 거의 정확한데, 덜 알려진 라이브러리 에러는 원인을 잘못 파악하는 경우가 있어요. 수정 결과 꼭 직접 확인해야 해요.

② 수정해줬는데 다른 곳에서 에러가 터지기도 해요

한 파일 고쳤더니 연결된 다른 파일에서 새 에러가 나는 경우가 있어요. 이럴 땐 "방금 수정하고 이 에러 새로 났어" 하고 계속 대화하면 돼요. 맥락이 이어지니까요.

③ 에러 메시지가 너무 짧으면 방향을 못 잡아요

Error: undefined 이런 식으로 정보가 없는 에러는 Claude도 파일 여러 개 열면서 헤매요. 스택 트레이스 전체를 같이 주는 게 훨씬 나아요.


마무리

Claude Code 쓰기 전, 에러 하나 잡는 데 평균 30분~1시간 썼어요.

지금은 에러 메시지 붙여넣고 엔터 치면 2~5분 안에 수정까지 끝나요. cherryplan 프로젝트에서 지난 2주 동안 이 방식으로 처리한 버그가 20개 넘어요. 그 시간을 단순 계산해도 10시간 이상 아낀 거예요.

에러 났을 때 구글부터 열던 습관, Claude Code 쓰고 나서 완전히 바뀌었어요.

 

다음 포스팅 예고: [Claude Code 실전 정복 #6] Claude Code로 리팩토링하기 — 레거시 코드 정리를 AI한테 맡겨봤더니


#ClaudeCode #버그수정 #바이브코딩 #개발자생산성 #AI코딩 #클로드코드 #에러해결 #프론트엔드개발자 #사이드프로젝트 #개발자ai #ai개발도구 #claude #ReactError #디버깅 #1인개발

 

반응형