디버거란 무엇인가요?

완료됨

개발자로서 작업하다 보면 언제든지 이렇게 자문하게 되는 순간이 있습니다.

내 코드가 왜 작동하지 않을까요?

이 질문은 개발자에게 있어 일상입니다. 가장 짧은 시간 내에 실패를 최소화하면서 버그를 찾아 수정하는 데 익숙해지는 것이 핵심입니다. 프로그램에 버그가 있는 경우 이러한 방법 중 하나로 처리합니까?

  • 프로그램이 작동해야 하므로 프로그램을 다시 실행 합니다 .
  • 고무 오리 인형에게 문제를 설명합니다.
  • 코드를 다시 읽어 문제를 찾습니다.
  • 산책하면서 머리를 식힙니다.
  • 코드에서 몇 개의 Console.WriteLine("here") 메시지를 무의미하게 채웁니다.

이러한 방법으로 다양한 수준의 성공을 거둘 수 있지만 일반적으로 한 가지 방법은 가장 성공적인 것으로 간주됩니다. 디버거 사용 하지만 디버거는 정확히 무엇입니까?

디버거는 분석 방법으로 프로그램의 실행 흐름을 관찰하고 제어하는 데 사용할 수 있는 소프트웨어 도구입니다. 해당 디자인 목표는 버그의 근본 원인을 찾고 문제를 해결하는 데 도움이 되는 것입니다. 자체 실행 프로세스에서 프로그램을 호스팅하여 작동합니다. 또는 .NET과 같이 프로그램에 연결된 별도의 프로세스로 실행합니다.

디버거는 다양한 버전으로 제공되며 명령줄에서 직접 작동하는 경우도 있고 그래픽 사용자 인터페이스와 함께 제공되는 경우도 있습니다. 이 모듈에서는 Visual Studio의 통합 그래픽 디버거를 사용합니다.

디버거를 사용하는 이유

디버거를 통해 코드를 실행하지 않는 경우 프로그램에서 발생하는 일을 추측할 수 있습니다. 디버거를 사용할 경우의 주요 혜택은 프로그램 실행을 ‘조사’할 수 있다는 것입니다. 프로그램 실행을 한 번에 코드 한 줄씩 추적할 수 있으며, 이러한 방식을 통해 잘못된 추측을 방지합니다.

모든 디버거에는 고유한 기능 세트가 있습니다. 거의 모든 디버거와 함께 제공되는 가장 중요한 기능 두 가지는 다음과 같습니다.

  • 프로그램 실행을 제어합니다. 프로그램을 일시 중지하고 단계별로 실행하여 실행 중인 코드와 프로그램 상태에 미치는 영향을 확인할 수 있습니다.
  • 프로그램 상태를 관찰합니다. 예를 들어 코드를 실행하는 동안 언제든지 변수 값과 함수 매개 변수를 확인할 수 있습니다.

디버거를 효과적으로 사용하는 것은 개발자에게 중요하지만 간과되는 기술입니다. 이를 통해 코드의 버그를 보다 효율적으로 헌팅할 수 있으며 프로그램의 작동 방식을 빠르게 이해할 수 있습니다.

이에 대해서는 다음 단원에서 살펴보겠습니다.