Posts [Backend] Debugging(디버깅)
Post
Cancel

[Backend] Debugging(디버깅)

디버깅이란?

  • 디버깅의 뜻은 프로그램 실행 시 문제를 일으키는 오류, 즉 ‘버그’를 찾아 해결하는 과정을 의미한다.
  • 버그는 크게 문법적 오류논리적 오류로 분류할 수 있다.
    • 문법적 오류는 말 그대로 프로그래밍 언어의 문법에 맞지 않는 코드가 있을 경우 발생하며 대체로 IDE로 해결할 수 있기에 디버깅이 쉬운편이다.
    • 논리적 오류는 문법적으로 문제가 없지만, 의도와는 맞지 않게 프로그램이 실행되는 오류이다. 이 부분은 IDE의 기능만으로는 해결되지 않으며, 프로그래머가 가장 골치아파하는 오류이다.

디버깅 용어의 유래

  • “디버깅”이라는 단어는 프로그래머, 그레이스 호퍼에 의해 만들어진 단어이다. 어느 날, 호퍼는 Mark Ⅱ 컴퓨터에서 오작동을 발견하였고, 그 원인이 나방임을 알아내 컴퓨터에서 핀셋으로 꺼냇다.(세계 최초 디버깅) ‘버그’란 단어는 1800년대부터 기술적인 오류를 가리키는 말로도 사용되었지만, ‘디버깅’이라는 단어는 이때 처음으로 사용되었다.

디버깅의 중요성

  • 디버그라는 동사의 첫 번째 의미는 오류를 제거하는 것이지만 더 중요한 의미는 프로그램을 조사하며 프로그램이 실행되는 과정을 들여다 본다는 것이다.
  • 대규모 프로젝트의 코드들은 대부분 문서화도 완벽하게 돼 있지 않고 코드양도 굉장히 많을 것이다. 이러한 코드가 실행되는 과정에 대한 가시성을 확보할 수 없다면 사소한 문제로도 난관에 부딪히게 될 것이다. 이러한 가시성은 디버깅을 통해서만 확보할 수 있을때가 많다.
  • 위와 같은 이유로 인해 프로그래밍에 있어 디버깅은 필수적인 요소이며 실제 개발할 때에도 가장 중요한 부분이다. 디버깅을 얼마나 잘하느냐에 따라 프로그래머의 실력이 갈릴 정도로 프로그래머에게 있어 가장 중요한 능력이 디버깅 능력이다.

출처

This post is licensed under CC BY 4.0 by the author.

[AWS-EC2] Ec2에 Chrome 및 ChromeDriver 설치

[Backend] LoadBalancer(로드 밸런서)