Visual Studio

[Visual Studio] 프로그램 종료 시키지 않고 코드 수정하며 디버깅 하기

Let it out 2024. 1. 26. 09:50

Visual studio 에서 프로그램을 종료시키지 않고 코드 수정하며 디버깅하는 방법을 알아보자.

 
아래 소스 코드를 예시
#include<iostream>
using namespace std;
int subtract(int a, int b)
{
    int c = a - b;
    return c;
}

void main()
{
    int a = 1;
    int b = 2;
    int c = subtract(a, b);
    cout << "a - b = " << c;
}
 

 

 
우선 디버깅에 대해 막 배운 코린이들은 수정 -> 프로그램 재시작을 반복한다.
뭔소린지 감이 안잡힐까봐 프로그램 종료 하며 디버깅하는 안좋은 예시를 준비 했다.
 

- 프로그램 종료 하며 디버깅하기(안좋은 예시)

1. 뺄셈 함수를 통해 '-1' 이 나오게 하고 싶은데 '3'이 나온다.
 
 
2. subtract() 함수가 잘 못되었으니 5번 라인에 중단점을 건 후 실행 시킨다.
 
 
 
3. 디버깅 하다 보니 5번 라인의 '-' 대신 '+'가 들어가 '-1' 이 아닌 '3'이 나왔다.

 

 

 

4. '+'를 '-' 로 수정해주고 프로그램 종료 -> 다시 재시작하면 올바른 답 -1 이 나온다.

 
 
코드가 짧으면 위에 방법처럼 (오류 발견 -> 수정 -> 프로그램 종료 -> 재시작 -> 다시 확인) 순서로 해도 된다. 
하지만 어떤 소스는 실행만 3분씩 걸리는 프로그램도 있고, 대량의 디버깅해야 할 경우 수정 할 때마다  재시작을 한다면 작업시간이 몇 배로 늘어난다. 아래 방법을 통해 이런 불상사를 방지 할 수 있다.
 
 
 
 
 

- 프로그램 종료 시키지 않고 디버깅하기(좋은 예시)

 
이번에는 프로그램 종료 시키지 않으면서 디버깅 하는 좋은 예시를 보자.
 
1. 마찬가지로 5번 라인에 중단점을 찍은 후 실행 시킨다.
 
 


2. 버그를 발견 했다. '+'를 '-' 로 바꿔준 다음 ctrl + shift + F5를 눌러준다.

 
 
 
3. 프로그램이 종료 되지 않고 수정 된 내용을 적용 시킬 수 있다.
F10으로 프로시저를 다음 줄로 이동시켜 변수c를 확인하면 값이 바뀐 것을 확인 할 수 있다.
 
 
 
4. F5 눌러서 쭉 실행 해보면 '-1' 확인 가능.


 

첫번째 예시는 프로그램 종료 후 다시 재실행 후 중단점을 걸어 확인 했다면

두번째 예시는 프로그램을 종료 시키지 않아도 수정된 소스 코가 적용 된다.

 

 

반응형