※ 요약

브레이크 포인트(중단점), 로그 분석, 덤프 파일 분석 등 디버깅에는 여러 방법이 있고, 상황에 맞게 방법을 택하면 된다. 필자는 주로 중단점을 이용한 디버깅을 많이 하는데, 이 방법은 실시간으로 디버깅을 할 수 있고 Visual Studio가 지원을 잘 해주기도 하여 편하기 때문에 자주 애용한다. 이번 포스트에서는 중단점을 이용할때 좀더 편리하게 이용할수 있도록 중단점 목록를 이용하는 방법을 포스팅하도록 하겠다. 참고로 이번 포스트는 중단점을 사용해봤다는 가정하에 작성하였다.



※ 설명

먼저 중단점 목록 창을 띄우는 방법이다. 메뉴 창에서 순서대로 디버그 -> 창 -> 중단점을 선택하면 아래와 같이 중단점 창이 뜬다.


중단점 창에서는 각 중단점에 주석처럼 코멘트를 달수 있다. 아래는 예제를 위해 대충 달아서 별쓸모 없어 보이지만 중단점 개수가 많을수록, 설명이 자세할수록 유용하게 쓰인다.


중단점에 브레이크가 걸릴때 조건을 줄 수 있다. 아래는 중단점 목록 중 임의의 항목을 마우스 우클릭한후 조건(C)... 메뉴를 선택할때 나오는 화면이다.



아래는 적중 횟수(H)...를 선택했을때 나오는 화면이다. for문이나 while믄 같은 반복문에 사용하면 매우 유용하다.


아래는 필자도 한 번도 해본적이 없다. 예상해보자면 적중될때 나타날 메시지를 설정하면 출력창에 띄워주는거 같다. 아래는 디폴트로 입력된 메시지인데 함수명과 스레드ID를 출력해주는듯 싶다.


 


※요약
디버깅의 사전적인 의미는 아래와 같다.
1. 컴퓨터 프로그램의 잘못을 찾아내고 고치는 작업. 
일단 작성된 프로그램들이 정확한가(즉 잘못 작성된 부분이 없는가)를 조사하는 과정

아래는 브레이크 포인트의 사전적인 의미다.
2. 소프트웨어 개발에서 프로그램을 고의적으로, 일시적으로 멈추거나 아예 멈추게 하는 장소를 장소를 가리키며, 브레이크 포인트는 디버깅을 목적으로 넣는다. 더 일반적으로 브레이크 포인트는 실행 도중 프로그램에 대한 정보를 알아내기 위한 수단이기도 하며, 프로그램이 예측한대로 기능하고 있는지 확인할 때도 사용한다.

사전적 의미가 잘 와 닿지 않더라도 실습하면서 보면 자연스레 알게 된다.
Visual Studio를 통해 디버깅하는 방법을 알아볼 것이며, 이번에는 간단하게 브레이크 포인트를 설정하는 방법을 알아보겠다.

※브레이크 포인트 설정하는 방법
브레이크 포인트를 잡는 방법은 크게 두 가지다.
단축키를 이용하여 원하는 행(러인)에 잡는 방법마우스로 원하는 행을 클릭하여 잡는 방법이다.
이외에 메뉴에서 중단점을 잡는 방법도 있지만 비효율적이라 소개하지는 않겠다.

-단축키
원하는 행을 클릭한 후 "F9"를 누르면 된다.
필자는 17행을 선택한 후 "F9"를 눌러 브레이크 포인트를 잡았다.
브레이크 포인트가 잡히면 좌측에 빨간 원으로 표시된다.


-마우스

마우스로 원하는 행의 좌측 부분(빨간 네모 부분)을 클릭하면 브레이크 포인트를 잡을 수 있다.


디버깅 관련하여 단축키가 많은데, 이는 다음에 알아보겠다.

단축키가 궁금하면 http://shaeod.tistory.com/139에 가서 관련 단축키들을 미리 볼 수 있다.

단축키는 편의성 및 작업 시간 단축에 많은 도움이 되므로 디버깅 관련 뿐만이 아니라 다양하게 알아두면 정말 편하다.



※브레이크 포인트 해제
브레이크 포인트를 해제하는 방법은 설정하는 방법과 같다.
위에서 처럼 단축키 "F9"를 이용하여 없애는 방법과 마우스 클릭을 통해 없애는 방법인데,
설정된 행에서 "F9"키나 마우스 클릭을 하면 중단점이 해제된다.

위의 2가지 방법 말고도 하나가 더 있는데, 중단점 전체 해제이다.
"Ctrl+Shift+F9"를 누르면 모든 브레이크 포인트가 제거된다.


※결과

아래는 시험 삼아 int형 변수 n을 선언하고 9를 할당했다.

브레이크 포인트가 잡힌 25행에 노란 화살표가 있는데, 노란 화살표는 현재 실행될 행을 가리키고 있는것이다.

아직 9가 n에 삽입되지 않았으므로 변수 n에는 쓰레기 값이 들어있다.


"F10" 키를 눌러 해당 행을 실행시켜 보자.(단축키 "F10"은 해당 라인을 실행시킨다.)

25행이 수행된 뒤 노란 화살표가 다음 실행 코드로 옮겨졌고, 수행된 25행은 변수 n에 9가 삽입되었음을 알 수 있다.



+ Recent posts