다음을 통해 공유


연습: 프로젝트 디버깅(C++)

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

사전 요구 사항

이 항목에서는 사용자가 C++ 언어의 기본적인 사항을 알고 있는 것으로 가정합니다.

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

  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 << players << " 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++ 둘러보기

기타 리소스

Building, Debugging, and Testing