C가 보이는 그림책에서 발췌 사진 출처 : https://www.google.co.kr/url?sa=i&source=web&cd=&ved=0CAUQjB0&url=http%3A%2F%2Fwind8apps.com%2Fdebugging-tools-windows-8-1%2F&ei=VZdqVPXSLePEmwXr3oG4BQ&psig=AFQjCNFIunpNz4D0Go1OqTN18Lm8BzMsQA&ust=1416358053469916 프로그램에는 버그(오류)가 따르기 마련입니다. 아무리 우수한 프로그래머라도 한 번에 버그 없는 프로그램을 작성할 수는 없습니다. 프로그래머가 생각하단 대로 동작하지 않을 때는 버그를 찾아 수정하는 [ 디버그 ]라는 작업을 하게 됩니다. 에러의 종류 프로그래밍을 하면서 맨 처음 부딪히는 벽은 컴파일 에러입니다. 프로그램을 컴파일할 수 없는 원인으로는 문법상의 오류(철자법 에러)이거나, 컴파일 방법이 틀렸다거나 여러가지 원인이 있을 수 있겠지만, 컴파일러는 어느 부분에서 잘못되엇는지 지적해 주지 않습니다. C 언엉의 컴파일러가 출력하는 에러 메세지는 마치 컴베이어 위에서 이루어지는 작업 같아서, 한 군데에 에러가 있더라도 그로 인하여 그 이하의 문장들이 꼭 들어맞지 않으면 그 때마다 메세지를 표시해 버립니다. 에러 메세지가 너무 많이 표시될 때는 당황하지 말고 어떤 메세지가 본질적인 원인가 자세히 보고 수정할 필요가 있습니다. 그런데 컴파일을 무사히 마쳤다고 해서 제대로 프로그램을 만들어졌다고 할 수는 없습니다. 가장 디버그하기 힘든 것이 프로그램 실행 중에 일어나는 에러입니다. 버그라고 하면 보통 이것을 지칭합니다. 프로그램이 멈춰버리거나(런타임 에러), 멈추진 않지만 프로그램 동작이 이상하다거나, 생각대로 동작은 하지만 틀린 결과가 나오는 등 여러 종류가 있습니다. 예를 들어[i = 3;]은 변수 i에 3을 대입하는 문인데, 이 문의 부호 =을 실수로 두개를 써 버리게 되면 ...