ack 및 module 디버깅하기
프로그램 디버깅은 코드에서 오류를 찾고 수정하는 과정입니다. 이는 개발자의 코드가 의도대로 작동하지 않을 때, 문제가 무엇인지 파악하고 해결하는 데 필수적인 과정이자 기술입니다.
디버깅 과정은 매우 어렵습니다. 단순히 지식을 암기하거나 책을 읽는 것만으로는 디버깅을 잘 할 수 없습니다. 디버깅은 경험을 통해 배울 수 있는 기술이며 문제에 대한 성숙도와 개개인의 직관에 따라서 해결 방안이 달라지기 때문입니다.
일반적으로 디버깅은 다음과 같은 과정으로 진행됩니다.
- 프로그램 이슈 또는 장애 인지
- 원인 및 문제 파악
- 대상 소스 코드 위치 확인
- 논리적 오류 확인
- 비슷한 오류 발생 가능성 점검
- 소스 코드 오류 대응 수정
- 오류가 발생한 조건으로 재현
- 프로그램 테스트 및 검증
- 프로그램 배포 및 모니터링
- 변경사항 및 오류 기록 관리
그래서 고급 개발자로 나아가기 위해 그리고 팀 전체의 성공을 위해 시니어 개발자는 자신의 경험과 지식을 공유하여, 주니어 개발자가 디버깅 기술을 향상시키는 데 도움을 줘야 합니다.
이 문서는 .NET 10.0 기반으로 개발된 HandStack 솔루션의 ack 프로그램과 module 프로그램을 디버깅하는 방법을 설명합니다. 이 문서는 Visual Studio 2022를 기준으로 작성되었으며, .NET Core 에 대한 경험이 있어야 합니다.
사전 요구 사항
HandStack 솔루션에서 서버 프로그램을 담당하는 ack 프로그램은 .NET Core 10.0 기반으로 개발 되었습니다. .NET Core 프로젝트는 Windows, macOS, Linux 에서 개발 할 수 있으며 주어진 상황에 따라 다음과 같은 개발 도구 들로 개발 가능합니다.
- Visual Studio: Windows에서 웹, 클라우드, 데스크톱, 모바일 앱, 서비스, 게임등 모든 유형의 .NET 애플리케이션을 빌드하기 위한 완전한 기능을 갖춘 IDE 이며 가장 권장됩니다.
- Visual Studio Code: Linux, macOS 또는 Windows에서 개발하여 플랫폼 간 웹 사이트 및 서비스를 동일한 경험으로 개발 할 수 있습니다.
- OmniSharp: Atom, Brackets, Sublime Text, Emacs 및 Vim과 같은 편집기에서 플랫폼 간 .NET 개발을 지원합니다.
- JetBrains Rider: IntelliJ 및 ReSharper 기술을 사용하여 빌드된 플랫폼 간 .NET IDE로, 모든 플랫폼에서 동일한 개발 경험을 제공하는 완전한 기능을 갖춘 IDE 입니다.
이러한 도구들과 .NET SDK와 함께 제공되는 .NET CLI: CLI (명령줄 인터페이스)는 다양한 유형의 애플리케이션을 효과적으로 개발할 수 있도록 지원합니다.
마이크로소프트는 Visual Studio 버전으로 개발에 필요한 대부분의 기능을 학생, 오픈 소스 참여자 및 개인에게 무료로 제공합니다. 자세한 내용은 Visual Studio 다운로드를 참고하세요.
Visual Studio 설치시 개발 워크로드 선택
ASP.NET Core 개발을 위해 Visual Studio 에서 선택해야 하는 워크로드는 다음과 같습니다:
-
ASP.NET 및 웹 개발 워크로드: 이 워크로드는 ASP.NET Core 웹 애플리케이션 개발에 필요한 모든 기능을 제공합니다. 이 워크로드는 웹 애플리케이션, REST API, 실시간 통신을 위한 SignalR, 그리고 웹 프론트엔드 개발을 위한 기능을 포함하고 있습니다.
-
.NET Core 크로스 플랫폼 개발 워크로드: 이 워크로드는 .NET Core를 사용하여 Linux, macOS, 그리고 Windows에서 실행되는 애플리케이션을 개발하는 데 필요한 도구를 제공합니다.
참고로, Visual Studio 설치 관리자를 사용하여 언제든 워크로드를 추가하거나 제거할 수 있습니다. 워크로드를 선택한 후, '