• 프로그래밍 언어 활용 part 2 - 디버깅

    2021. 8. 8.

    by. 고구마달랭이

    디버깅

    학습내용 학습목표
    ▪ 프로그램 설계
    ▪ 코드 분석
    ▪ 디버깅의 기본 개념에 대해 설명할 수 있다.
    ▪ 각 개발환경별 디버깅 방법을 사용할 수 있다.

    디버깅 개요

     

    1. 정의

    디버깅(Debugging)이란?

    ☞ 프로그래밍 과정 중에 발생하는 오류나 비정상적인 연산과 같은 버그를 찾고 수정하는 과정

     

    버그(Bug)는 프로그램 과정 중에 발생하는 오류

    ☞ 오타로 인한 오류

    ☞ 문법적인 오류

    ☞ 논리적인오류

    ☞ 잘못된 라이브러리 사용

    ☞ 시스템상의 한계로 인한 오류

    //문법적 오류
    
    int arr[10]
    
    for(int i=0;i<10;i++)
    {
    	arr[i] = i;
    }
    
    
    //논리적 오류
    
    int arr[10];
    
    for(int i=0;i<12;i++)
    {
       arr[i] = i;
    }
    
    int a = 0;
    
    while(a < 100)
    {
       a = 1;
    }

     

    2. 디버거(Debugger)

    ☞ 디버깅을 수행하는 프로그램    //Visual Studio, Code Blocks

    ☞ 대부분의 IDE는 디버거를 내장

    ☞ 수행 기능

        - 변수값 추적

        - 중단점 지정

        - 모듈 단위 실행

     

    [1] 디버깅 방법

    ☞ 한 문장씩 수행

    ☞ 모듈 단위로 나누어서 수행

     

    [2] 디버깅 프로그램

    Visual Studio
    Code Blocks

     


    디버깅 수행하기

     

    1. Visual Studio Debugging

    [1] 디버깅 순서

    ☞ 프로그램오류가발생한곳이라고의심되는부분에중단점을설정하기

    ☞ ‘디버깅 시작’ 누르기

    ☞ 프로그램이 실행되다가 중단점을 만나면 그 부분에서 멈추기

    ☞ ‘F11’키로한줄씩실행하면서아래‘자동’창의변수값확인및오류찾기

    ☞ ‘Shift + F5’로 디버깅을 종료하고 오류 수정하기

     

    [2] 프로그래밍

    #include <stdio.h>
    
    int sub(int x)
    
    {
    	int i, y = 100;
    	for (i = 0; i < 6; i++)
    	{
    		x += i;
    		y = x + i;
    	}
    	return x;
    }
    
    int main()
    {
    
    	int i, a = 1, b = 10, c;
    
    	c = sub(a);
    	for (i = 0; i < 10; i++)
    	{
    		if (a = 5) break;
    		a += i;
    		b = a + i;
    	}
        
    	printf("a=%d b=%d c=%d",a, b, c);
        
    return 0;
    }

     

    [3] 단축키

    F5 디버깅 시작/계속 F9 중단점 설정/해제
    F11 한 문장씩 수행 Shift+F5 디버깅 중지
    F10 프로시져단위실행 F4 컴파일 오류 확인

     

    2. DEV C++ Debugging

    [1] 디버깅 순서

    ☞ 프로그램 오류가 발생한 곳이라고 의심되는 부분에 중단점을 설정하기

    ☞ [debug] 탭에서 ‘debug’를 클릭하기

    ☞ 프로그램이 실행되다가 중단점을 만나면 그 부분에서 멈추기

    ☞ ‘F7’키로 한 줄씩 실행하면서 변수값 확인 및 프로그램 실행 화면에서 오류 찾기

    ☞ [Stop Execution] 버튼을 눌러 디버깅 종류 및 오류 수정

     

    3. Code Blocks Debugging

    [1] 디버깅 순서

    ☞ 프로그램오류가발생한곳이라고의심되는부분에중단점을설정하기

    ☞ [debug]탭에서 [start], [step into] 클릭하기

    ☞ 프로그램이 실행되다가 중단점을 만나면 그 부분에서 멈추기

    ☞ F7’키로한줄씩실행하면서프로그램이실행된화면에서오류찾기

    ☞ 변수추적은[debug]의[debugging windows]-[watches]를열어서확인

    ☞ [stop debugging] 버튼을눌러서디버깅을종료하고오류를수정

     

     


     

    학습정리

     

    1. 디버깅 개요

    ▪ 버그란 프로그래밍 과정 중에 발생하는 오류를 말함

    ▪ 디버깅(Debugging)은 프로그래밍 과정 중에 발생하는 오류나 비정상적인 연산과 같은 버그를 찾고 수정하는 과정

    ▪ 디버깅은 모듈 단위로도 디버깅을 할 수 있음

     

    2. 디버깅 수행하기

    ▪ 대부분의 IDE는 디버깅 기능을 내장하고 있음

    ▪ 디버깅을 시작 후 필요에 따라 변수값을 지정하여 해당 변수의 변화되는 과정을 추적하는 것이 가능함

    ▪ 디버깅 시 중단점을 지정하여 특정 지점까지 문장을 수행 하는 것이 가능함

    댓글