AI 코딩/무슨 뜻일까? 시리즈

[Debug] 디버그란?

togchae 2026. 5. 5. 09:00

오늘 정리해볼 말은 디버그(debug)입니다.

 

AI와 코드 작성을 진행하다보면, 자주 만나게 되는 말입니다.

"디버그를 진행해드릴까요?"같이 말이죠.

 

디버그란?

쉽게 말해 코드가 왜 원하는 대로 동작하지 않는지 원인을 찾고 수정하는 과정입니다.

 

많은 분들은 디버그를 단순히 에러를 고치는 것이라고 생각하지만,

내가 기대하지 않은대로 작동할 때, 문제의 원인을 찾아가는 과정 전체에 가깝습니다.

 

 

 

디버그가 필요한 상황

에러가 날 때만 디버그를 진행하는 걸까요?

꼭 그렇지는 않습니다.

  • 에러 메시지가 출력되는 경우
  • 실행되지만 결과가 이상한 경우
  • 데이터에 값이 이상하게 저장되는 경우

이런 상황 모두 디버그가 필요한 상황입니다.

 

 

 

왜 디버그가 중요할까?

AI가 코드도 작성해주고, 기본적으로 디버그도 수행해줍니다.

하지만 결국 실행하고 확인하는 것은 사람의 몫입니다.

 

AI에게 테스트케이스를 주면서 디버그 및 수정을 시켜도

제대로 작동하지 않는 경우가 많습니다.

예를 들면, 1~100까지 테스트하라고 했더니 1~5만 테스트한다던지

1~100까지만 정상적으로 작동하게 한다던지

 

그래서, AI코딩을 하는 사람이라면 누구나 익혀야 할 기본 기술이라고 볼 수 있습니다.

 

 

 

초보자는 어떻게 디버그하면 될까?

많은 디버그 도구들이 시중에 나와있습니다.

IDE의 경우에는 보통 디버그를 포함하고 있습니다.

 

하지만, 도구 사용법을 익히지 않아도 여러분은 쉽게 디버그를 할 수 있습니다.

 

예시 코드로 함께 보겠습니다.

name = input("이름을 입력하세요: ")

1번 처리
2번 처리
3번 처리
4번 처리

print(name)

이렇게 4번 처리하는 코드가 있다고 가정해봅시다.

 

근데 내가 기대한 코드의 동작과는 많이 달라져있다면?

코드 중간중간에 print를 활용해서 디버그할 수 있습니다.

name = input("이름을 입력하세요: ")

1번 처리
print(name)
2번 처리
print(name)
3번 처리
print(name)
4번 처리
print(name)

print(name)

출력이 내 기대와 다르다면 이 방법은 상당히 단순하지만, 효과가 확실합니다.

 

name = input("이름을 입력하세요: ")

1번 처리
print("1번 처리")
2번 처리
print("2번 처리")
3번 처리
print("3번 처리")
4번 처리
print("4번 처리")

print(name)

혹은 무한 루프에 빠져 에러 메시지도 안 뜨는 경우에는,

이런 방식을 통해서 어디에서 코드가 멈추는지 파악할 수 있겠죠.

 

 

디버그는 원인을 좁혀가는 과정입니다.

디버그는 전혀 어렵게 생각할 필요가 없습니다.

  • 어디서 문제가 생겼는지 보고
  • 예상과 실제 결과를 비교해보고
  • 원인을 조금씩 좁혀가는 과정

이게 디버그의 끝입니다.

그리고 이 과정에 정답은 없습니다.

전문가도 한번에 디버깅을 성공하지 못할 수 있습니다.

 

오류를 무조건 AI에게 넘기기 전에

어디서 문제가 발생했는지 그 이유가 뭔지 직접 확인해보는 습관이 생기면,

AI에게 오류 수정을 요청할 때 혹은 다른 질문을 할 때 더 정확하게 요청하실 수 있습니다.

'AI 코딩 > 무슨 뜻일까? 시리즈' 카테고리의 다른 글

[Framework] 프레임워크란?  (0) 2026.05.11
[Library] 라이브러리란?  (0) 2026.05.08
[API] API란?  (0) 2026.05.07
[Refactor] 리팩토링이란?  (0) 2026.05.06
[Prompt] 프롬프트란?  (0) 2026.05.04