다음을 통해 공유


프로젝트 디버깅(C++)

업데이트: 2007년 11월

이 단계에서는 프로그램을 수정하여 프로젝트를 테스트할 때 발견된 문제를 해결합니다.

사전 요구 사항

이 항목에서는 사용자가 C++ 언어의 기본적인 사항을 알고 있는 것으로 가정합니다. 이제 C++를 배우기 시작하는 초보자는 Herb Schildt가 쓴 "C++ Beginner's Guide"(https://go.microsoft.com/fwlink/?LinkId=115303)를 참조하는 것이 좋습니다.

버그가 있는 프로그램을 수정하려면

  1. Cardgame 개체가 소멸될 때 발생하는 동작을 확인하려면 Cardgame 클래스의 소멸자를 검사합니다.

    보기 메뉴에서 클래스 뷰를 클릭하거나 솔루션 탐색기 창에서 클래스 뷰 탭을 클릭합니다.

    game 프로젝트 트리를 확장하고 Cardgame 클래스를 클릭합니다.

    아래 영역에 클래스 멤버와 메서드가 표시됩니다.

    ~Cardgame(void) 소멸자를 마우스 오른쪽 단추로 클릭하고 정의로 이동을 클릭합니다.

  2. 카드 게임이 끝날 때 totalparticipants 수가 줄어들도록 하려면 Cardgame::~Cardgame 소멸자의 여는 중괄호와 닫는 중괄호 사이에 다음 코드를 입력합니다.

    totalparticipants -= players;
    cout << players << " players have finished their game.  There are now "
    << totalparticipants << " players in total." << endl;
    }
    
  3. 변경 내용을 적용한 후의 Cardgame.cpp 파일은 다음과 같습니다.

    #include "Cardgame.h"
    #include <iostream>
    using namespace std;
    Cardgame::Cardgame(int p)
    {
        players = p;
        totalparticipants += p;
        cout << p << " players have started a new game.  There are now "
             << totalparticipants << " players in total." << endl;
    }
    
    Cardgame::~Cardgame(void)
    {
        totalparticipants -= players;
        cout << players << " players have finished their game.  There are now "
             << totalparticipants << " players in total." << endl;
    }
    
  4. 빌드 메뉴에서 솔루션 빌드를 클릭합니다.

  5. 디버그 메뉴에서 실행을 클릭하거나 F5 키를 눌러 디버그 모드에서 프로그램을 실행합니다. 첫 번째 중단점에서 프로그램 실행이 일시 중지됩니다.

  6. 디버그 메뉴에서 프로시저 단위 실행을 클릭하거나 F10 키를 눌러 프로그램을 단계별로 실행합니다.

    각 Cardgame 생성자가 실행된 후에는 totalparticipants의 값이 증가합니다. 각 포인터가 삭제된 후에는(소멸자가 호출됨) totalparticipants가 감소합니다.

  7. 프로그램의 마지막 줄로 넘어갑니다. return 문이 실행되기 직전에 totalparticipants는 0입니다. 프로그램이 종료될 때까지 단계를 계속 진행하거나 디버그 메뉴에서 실행을 클릭하거나 F5 키를 눌러 프로그램이 종료될 때까지 실행되도록 합니다.

다음 단계

이전:프로젝트 테스트(C++) | 다음:프로그램 배포(C++)

참고 항목

작업

Visual C++ 둘러보기

기타 리소스

빌드, 디버그 및 테스트