본문 바로가기
스터디

[프로그래밍] 틀린 그림 찾기 탈출! 문제점 쉽게 찾는 디버깅 하는 법!

by se.jeon 2023. 6. 3.
728x90
반응형

도대체 어디가 문제인거지? 오타인가?

틀린 그림 찾기 탈출! 문제점 쉽게 찾는 디버깅 하는 법!

대상 IDE : Visual Studio 2019

다른 IDE 또한 단축키만 다를 뿐이지, 원리는 같습니다!

설명에 들어가기 앞서, 직접 IDE를 켜서 이것저것 버튼을 눌러보며 변화를 눈으로 확인하는 것을 추천드립니다!

IDE (Intergrated Development Environment)

통합 개발 환경

공통된 개발자 툴을 하나의 그래픽 사용자 인터페이스(Graphical User Interface, GUI)로 결합하는, 애플리케이션을 구축하기 위한 소프트웨어입니다. 일반적으로 IDE는 소스 코드 편집기, 로컬 빌드 자동화, 디버거를 제공합니다.

우리가 사용하는 Visual Studio 2019 또한 이러한 IDE 중 하나이며, 디버거 기능을 제공합니다.

디버그 (Debug)

소프트웨어에서 소스 코드의 오류 또는 버그를 찾아서 수정하는 과정

소프트웨어가 예상하는대로 작동하지 않을 때, 시스템의 논리적인 오류나 비정상적 연산(버그)을 찾아내어 그 원인을 밝히고 수정하는 작업과정을 뜻합니다.

디버거 (Debugger)

디버그를 돕는 도구

주로 원하는 코드에 중단점을 지정하여 프로그램 실행을 정지하고, 메모리에 저장된 값을 살펴보며, 실행을 재개하거나, 코드를 단계적으로 실행하는 등의 동작을 할 수 있게 해 줍니다.

사용자는 디버거를 활용하여 코드를 원하는 구간에서, 어떤 동작을 실행 하고 그 결과로 어떤 값이 어떤 과정을 거쳐 발생했는지 확인 할 수 있습니다.

고급적인 기능을 지원하는 디버거들은 메모리 충돌 감지, 메모리 누수 감지, 다중 스레드 관리와 같은 멋진 기능도 지원한다. (관심이 있다면 알아보면 도움이 됩니다!)

Visual Studio 2019의 상단바

별도로 설정 값을 주지 않았다면, 위와 같은 상단바가 프로그램의 상단에 표기됩니다.

디버그 항목을 눌러보면, 다음과 같이 Visual Studio2019에서 제공하는 다양한 디버거 기능들이 표기됩니다.

Visual Studio 2019가 제공하는 디버거 기능

디버깅을 하기 위해서는 디버깅 시작(단축키 : F5)으로 코드를 실행해야 합니다.

디버깅을 시작하면 테마의 포인트컬러 색상이 주황색이 되며 UI 및 레이아웃 배치가 변경됩니다.

디버깅을 시작했을 때, 블랙 테마 기준


중단점 (Breakpoint)

소프트웨어 개발에서 프로그램을 의도적으로 잠시 또는 아예 멈추게 하는 장소

중단점은 이미 실행중인 프로그램에 대한 정보를 알아내기 위한 수단으로 사용되며, 이를 이용해 프로그램 실행이 중단되어있는 상황에서 사용자는 전달 값, 변수, 호출 스택, 메모리, 로그 등을 점검할 수 있습니다.

단축키 : F9를 이용하여 중단점을 설정 할 수 있습니다. 앞으로도 자주 사용할 키들이니 되도록 단축키에 익숙 해 질 수 있게끔 단축키로 이용 해 주세요!

중단점을 설치하고 싶은 지점에 멈춰두고, F9를 눌러줍니다.

어디가 문제인지 모르겠는데, 여기인 것 같아! or 여기서부터 확인 해 볼까?

F9를 눌러보면, while문 줄의 왼쪽에 빨간 동그라미가 생깁니다. 중단될 곳을 가시적으로 표기 해 주는 것입니다.

디버깅 시, 프로그램이 실행되다가 이러한 중단점들을 만나게 되면 프로그램이 중단점이 있는 구간에서 정지합니다.

다시 해당 줄에서 F9를 누르거나 마우스로 빨간 동그라미를 클릭하면 사라지게 됩니다.

중단점에서 우클릭을 해 보면 사진과 같이 삭제, 해제, 조건, 작업, 레이블 편집과 같은 메뉴들을 확인할 수 있습니다.

그 중에서 조건을 눌러보겠습니다.

다음과 같은 줄이 생겼네요!

조건을 체크하면 조건 직접 입력하여 멈추는 조건을 부여 할 수 있습니다. 예를 들어, nCurrentCount == 10 으로 입력한다면 프로그램이 실행되다가 nCurrentCount라는 변수가 10이 되었을 때만 중단점이 작동합니다.

다음과 같이 적중 횟수나 변경되었을 때 멈추게 하는 기능도 있는데요! 매우 유용한 기능인지라 함께 소개시켜드렸지만, 아직 익숙하지 않을 때는 중단점에 상세 조건을 추가 해 보기 보다는 중단점을 찍고 경과를 관찰하는 연습부터 하는 것을 추천드립니다.

중단점에서 프로그램이 멈췄다면 변수를 확인하거나, 코드를 이어서 실행할 수 있습니다.


부분 실행

단축키 : F5, F10, F11

이제 코드들을 훑어 볼 차례입니다! 각각 단계별로 코드들을 살펴보는 방법입니다.

IDE별로 단축키가 다를 수 있으며, Visual Studio 2019를 기준으로 주로 사용되는 4가지만 살펴보겠습니다. (다른 기능들도 많으니 검색 해 보세요!)

- 계속 (continue, 단축키 : F5) - 현재 줄에서부터 자동으로 진행하고, 다음 중단점을 만나면 멈출 때 사용합니다.

- 프로시저 단위 실행 (step over, 단축키 : F10) - 함수 세부 내용을 살피지 않고 함수가 호출됐을 때 결과 단위로 실행할 때 사용합니다.

- 한 단계씩 코드 실행 (step into, 단축키 : F11) - 현재 라인에 함수가 있으면 해당 함수가 있는 곳의 시작점으로, 반복문이나 조건문이면 괄호 안으로 들어가 세부 내용을 체크할 때 사용합니다.

- 프로시저 나가기 (단축키 : Shift + F11) - 함수 세부 내용을 살피지 않고 상위로 빠져나갈 때 사용합니다.

원하는 코드에서 위 네가지 기능을 이용하여 실행되는 과정을 살펴볼 수 있습니다.

직접 눌러보면서 어떤 변화가 생기는지 관찰 해 봅시다.


로컬 창

현재 실행중인 메소드의 지역변수 상태를 확인할 수 있다.

현재 중단점을 기준으로 각 지역변수의 현재 값들을 보여줍니다.

실행중인 코드 위에 마우스를 올리면 확인 가능한 기능을 보기 좋게 묶어 표기된 창입니다.

더블클릭하여 값을 수정 할 수 있습니다.

조사식과 직접 실행 창

변수에 들어가는 값의 변화를 볼 수 있다.

디버그 모드에서 상단 메뉴 > 디버그 > 창에 들어가면 다음과 같은 다양한 메뉴들이 있습니다.

그 중에서도 조사식은 디버깅의 꽃입니다. 사실상 이걸 보는 것이 디버깅의 가장 큰 목적이라고 할 수 있습니다.

디버그 기능에서 제공하는 다양한 도구

로컬에서 보여주는 값 이외의 식들을 입력하여 확인하고 싶을 때는 조사식을 이용하면 됩니다.

조사식은 변수를 Drag & Drop해서 추가하거나 더블클릭해서 입력할 수 있으며, 여러개 선택해서 띄울 수 있습니다.

직접 실행 창

직접 명령어를 실행할 수 있는 창입니다.

데이터를 열람하고, 조사식에서는 확인할 수 없는 연산 결과값과 같은 데이터또한 확인이 가능합니다.

실행하고, 확인하고, 실행하고, 확인하고

간단하게만이라도 위와 같은 과정을 거치기 시작하면 어떤 부분에서 어떻게, 왜 문제가 발생했는지 추적하기 쉬워집니다.


기타

참고하면 좋은 자료

이런 가이드 글은 처음 써 봐서 나름 최선을 다해 적었지만, 누락되거나 부족한 점이 많을까 조심스럽네요.

좋은 정보가 있다면 공유 해 주세요! 게시글 관련 피드백도 언제나 환영합니다!

이것으로 틀린 그림 찾기 탈출! 문제점 쉽게 찾는 디버깅 하는 법! Visual Studio 2019 버전을 마치겠습니다.

감사합니다!

 

 

https://cafe.naver.com/chungkanggame/24164

 

[프로그래밍] 틀린 그림 찾기 탈출! 문제점 쉽게 찾는 디버깅 하는 법!

대한민국 모임의 시작, 네이버 카페

cafe.naver.com

새싹 가이드 공모전에 참가하기 위하여 작성했던 글을 블로그에도 게시합니다.

 

728x90
반응형