다음을 통해 공유


버그 확인: 세 가지 프로그래밍 오류

업데이트: 2007년 11월

이 단원에서는 프로그램 작성 시 발생할 수 있는 여러 유형의 오류에 대해 살펴봅니다.

숙련된 프로그래머도 실수를 저지를 수 있으므로 응용 프로그램을 디버깅하여 잘못된 부분을 찾아내는 일은 프로그래밍에서 중요한 부분입니다. 디버깅 프로세스에 대해 배우기 전에 우선 어떠한 유형의 버그를 찾아서 수정해야 하는지를 알면 도움이 됩니다.

프로그래밍 오류는 컴파일 오류, 런타임 오류 및 논리 오류의 세 범주로 구분할 수 있습니다. 이러한 오류를 각각 디버깅하는 방법은 다음 세 단원에서 설명합니다.

컴파일 오류

컴파일러 오류라고도 하는 컴파일 오류는 프로그램의 실행을 막는 오류입니다. F5 키를 눌러 프로그램을 실행하면 Visual Basic에서는 코드를 컴퓨터가 인식하는 이진 언어로 컴파일합니다. Visual Basic 컴파일러가 이해하지 못하는 코드를 발견하면 컴파일러 오류가 발생합니다.

대부분의 컴파일러 오류는 코드 입력 시의 실수 때문에 발생합니다. 예를 들면 키워드의 맞춤법이 틀리거나, 필요한 문장 부호를 빠뜨리거나, If 문을 먼저 사용하지 않고 End If 문을 사용하는 경우가 있습니다.

다행히 Visual Basic 코드 편집기는 프로그램을 실행하기 전에 이러한 실수를 식별하도록 디자인되었습니다. 다음 단원 컴파일러 오류 찾기 및 제거에서 컴파일 오류를 찾아 수정하는 방법을 알아봅니다.

런타임 오류

런타임 오류는 프로그램 실행 중에 발생하는 오류입니다. 이러한 오류는 일반적으로 프로그램에서 수행할 수 없는 작업을 시도할 때 발생합니다.

예를 들면 0으로 나누는 경우가 있습니다. 다음과 같은 문이 있다고 가정합니다.

Speed = Miles / Hours

Hours 변수 값이 0이면 나누기 연산이 실패하고 런타임 오류가 발생합니다. 이 오류는 프로그램을 실행해야만 발견될 수 있으며 Hours에 유효한 값이 들어 있으면 오류가 발생하지 않습니다.

런타임 오류가 발생하면 Visual Basic의 디버깅 도구를 사용하여 원인을 파악할 수 있습니다. 프로그램에서 수행할 수 없는 작업: 런타임 오류 찾기 및 제거 단원에서 런타임 오류를 찾아 수정하는 방법을 알아봅니다.

논리 오류

논리 오류는 사용자가 의도한 작업을 프로그램에서 수행하지 못하는 오류입니다. 코드는 오류 없이 컴파일 및 실행될 수 있지만 작업 결과가 예상과 다를 수 있습니다.

예를 들어 처음에 빈 문자열로 설정된 FirstName이라는 변수가 있으면 나중에 프로그램에서 FirstName을 LastName이라는 다른 변수와 연결하여 전체 이름을 표시할 수 있습니다. 사용자가 깜빡 잊고 FirstName에 값을 지정하지 않으면 의도한 바와 달리 전체 이름이 아닌 성만 표시됩니다.

논리 오류는 찾아서 수정하기가 가장 어려운 오류이지만 Visual Basic에는 논리 오류를 쉽게 찾아 수정할 수 있는 디버깅 도구도 있습니다. 예상과 다른 동작: 논리 오류 찾기에서는 논리 오류를 찾아 수정하는 방법을 배웁니다.

다음 단계

이 단원에서는 세 가지 범주의 프로그램 오류에 대해 살펴보았습니다. 다음 단원에서는 컴파일러 오류를 디버깅하는 방법을 알아봅니다.

다음 단원: 컴파일러 오류 찾기 및 제거

참고 항목

작업

오류 찾기: Visual Basic 디버깅 소개

기타 리소스

프로그램이 올바르게 작동하지 않을 때: 디버깅을 통한 오류 찾기 및 수정