Visual Studio Debug 실전 튜 토리 얼 의 기초 입문

머리말
과거 에 나 는 디 버 깅/debug/bug 에 관 한 글 을 여러 편 썼 지만 모두 거시적인 측면 에서 말 한 것 으로 어떤 도구 에 대해 구체 적 이 고 깊이 있 는 분석 을 하지 않 았 다.
소프트웨어 개발 주기 에서 테스트 와 수정 결함(defect,defect 와 bug 의 차이:bug 는 결함 의 표현 형식 이 고 하나의 결함 은 여러 bug 를 일 으 킬 수 있 는)시간 이 코드 를 쓰 는 시간 보다 훨씬 많다.일반적으로 debug 는 결함 을 발견 하고 고 치 는 과정 을 말한다.결함 을 수정 하 는 것 은 debug 에 이 어 두 사람 이 관련 되 어 있다.코드 에 결함 이 있 으 면 결함 의 근본 원인(root cause)을 먼저 식별 해 야 합 니 다.이 과정 을 디 버 깅(debugging)이 라 고 합 니 다.근본 원인 을 찾 으 면 결함 을 수정 할 수 있다.
일 을 잘 하려 면 반드시 그 기 구 를 이 롭 게 해 야 한다.강력 한 디 버 깅 도 구 는 우리 가 문 제 를 신속하게 발견 하고 문 제 를 해결 하 는 데 도움 을 줄 수 있다.이런 도 구 를 잘 활용 할 수 있 을 지 없 을 지 는 초보 프로그래머 와 고수 프로그래머 의 작업 방법 에 있어 서 큰 차이 점 이다.
그래서 그 다음 에 저 는 제 가 가장 잘 알 고 사용자 의 규모 가 가장 큰 Visual Studio 부터 시작 하여 Debug 에 관 한 시리즈 강 좌 를 작성 할 계획 입 니 다.
Visual Studio 는 디 버 깅 에 사용 할 도 구 를 많이 제공 합 니 다.때때로 디 버 깅 은 루트 cause 를 식별 하 는 데 많은 시간 을 들 여야 한다.VS 는 디 버 깅 을 보조 하 는 편리 한 도 구 를 많이 제공 했다.디 버 거(Debugger)는 오류 목록,정지점 추가,시각 화 된 프로그램 프로 세 스,제어 실행 프로 세 스,Data Tips,감시 창(watch windows),다 중 스 레 드 디 버 깅,스 레 드 창,병렬 디 버 깅 개관 과 IntelliTrace 디 버 깅 개관 을 포함한다.나 는 본 고가 디 버 깅 기능 의 사용자 에 게 도움 이 되 기 를 바란다.
MSDN 에는 이미 모든 것 이 있 지만 적나라한 영어 세 계 는 많은 개발 자 들 을 막 았 습 니 다.여기 서 저 는 가장 알 기 쉬 운 언어 로 여러분 들 에 게 VS 디 버 깅 기능 을 빨리 시작 하 게 해 주 고 싶 습 니 다.
이 는 C#1,C/C+,Visual Basic,JavaScript 등 대부분의 VS 가 지원 하 는 프로 그래 밍 언어 에 적용 된다.
설명 하 자 면 이 강 좌 는 주로 MSDN 을 참고 하지만 제 가 사용 하 는 과정 에서 쌓 은 경험 도 추 가 했 습 니 다.
자,쓸데없는 말 은 그만 하고 주제 에 들 어가 자.
이번 튜 토리 얼 은 Visual Studio 입문 단계 의 일부 Debug 기능 을 소개 할 것 이다.
대부분의 IDE 와 마찬가지 로 Visual Studio 는 두 개의 디 버 깅 단계 가 있 습 니 다.
  • 첫째,Build 과정 에서 프로젝트 와 컴 파일 오 류 를 발견 하고 해결 하 는 것 이다
  • 둘 째 는 Run 과정 에서 의 동적 오 류 를 발견 하고 해결 하 는 것 이다
  • 빌 드 단계
    Build Solution
    Build Solution 은 설정 부터 시작 합 니 다.
    Solution 의 설정 은 두 가지 기본 유형 이 있 습 니 다:Debug 와  Release。
    그것들의 차 이 는 다음 과 같다.
    Debug
    Release
    생 성 된 실행 가능 한 파일 은 최적화 되 지 않 고 크 고 느 리 며 개발 자가 추가 한 디 버 깅 정 보 를 포함 하여 시장 에 투입 되 지 않 습 니 다.
    생 성 된 실행 가능 한 파일 은 최적화 되 어 작고 빠 르 며 시장 에 투입 되 어 사용 할 수 있다.
    기본 설정 은 Debug 입 니 다.

    이 밖 에 x86(32 비트 Intel CPU),x64(64 비트 Intel CPU),ARM(ARM CPU,일부 응용 프로그램 만 지원)과 같은 대상 플랫폼 도 지정 할 수 있다.
    이 값 을 변경 하려 면 플랫폼 드 롭 다운 목록 을 누 르 고 다른 플랫폼 이나'설정 관리자...'를 선택 하 십시오.
     
    공 사 를 설정 하면 Build 를 시작 할 수 있 습 니 다.
    가장 쉬 운 방법 은 F7 을 누 르 고 메뉴 에서 Build Solution 을 선택 하 는 것 이다.
     
    2.출력 창
    Build 프로 세 스 와 결 과 는 Output 창 에 표 시 됩 니 다.
    오류,경고 등 원본 컴 파일 러 출력 을 표시 합 니 다.Error 나 Warning 을 누 르 면 해당 하 는 코드 줄 로 이동 할 수 있 습 니 다.
    이것 은 Build 성공 의 예 이다.
     
    3.오류 목록 창
    Build 과정 에서 나타 난 Error 와 Warning 의 자세 한 정 보 는 Error List 창 에서 볼 수 있 습 니 다.

    Error 나 Warning 을 누 르 면 Error 나 Warning 이 발생 하 는 코드 줄 로 이동 할 수 있 습 니 다.
    위의 그림 과 같이 빨간색 물결 선 은 Error 를 대표 합 니 다.마 우 스 를 위 에 올 려 놓 고 이 Error 가 나타 나 는 상세 한 정 보 를 얻 을 수 있 습 니 다.
    어떤 때 는 모든 Error 가 한눈 에 그 중의 문 제 를 알 수 있 는 것 이 아니 라 컴 파일 러 에 만 의미 가 있 는 용어 나 코드 가 나타 날 수 있 습 니 다.예 를 들 어:
    fatal error C1189: #error ...
    이때 많은 사람들 이 이 말 을 바 이 두/구 글 검색 창 에 복사 해서 붙 여 넣 고 검색 하 는 것 이다.사실 너 는 반드시 이런 중복 노동 을 해 야 하 는 것 은 아니다.
    모 르 시 겠 지만 VS 자체 검색 기능 이 있 습 니 다.
    해당 Error 나 Warning 항목 을 우 클릭 하면 메뉴 가 나타 납 니 다.Show Error Help 을 누 르 면 이 Error 나 Warning 의 Bing 검색 이 자동 으로 실 행 됩 니 다.
     
    또한 CS 1525 와 같은 코드 열 에 있 는 오류 코드 하이퍼링크 를 클릭 하면 이 오류 코드 의 Bing 검색 이 실 행 됩 니 다.
    Error List 에 나타 난 모든 Error 를 일일이 살 펴 보고 해결 합 니 다.Rebuild Solution 은 솔 루 션 이 성공 적 으로 생 성 될 때 까지 합 니 다.
    4.코드 정적 분석
    Build 과정 에서 Error List 에 나타 난 모든 Error 를 해결 한 후 코드 정적 분석 을 시도 할 수 있 습 니 다.
    코드 정적 분석 은 코드 에서 실행 시 오류 등 문 제 를 분석 하고 Warning 을 제공 합 니 다.
    Erorr 가 없다 고 생각 하지 마 세 요.Build 가 성공 하면 만사 가 다 잘 됩 니 다.처음에 코드 에 나타 난 Warning 을 최대한 해결 하면 앞으로 불필요 한 번 거 로 움 을 줄 일 수 있 습 니 다.
    단축 키 Alt+F11 을 눌 러 도 다음 메뉴 를 클릭 하여 코드 정적 분석 을 수행 할 수 있 습 니 다.
     
    Warning 역시 Error List 창 에 나타 나'Warning'옵션 을 누 르 면 볼 수 있 습 니 다.
     
    Warning 이 나타 나 는 코드 줄 로 이동 합 니 다.녹색 물결 선 은 Warning 을 의미 하 며 마 우 스 를 위 에 올 려 놓 고 자세 한 정 보 를 얻 을 수 있 습 니 다.
     
    실행 단계
    5.기본 동작
    Build Solution 이 성공 하면 F5 를 누 르 고 실행 하면 Debug 환경 에서 프로그램 이 시 작 됩 니 다.
    이 때 기본적으로 두 개의 창 이 나타 납 니 다.
     
    브레이크 나 Stop 단 추 를 누 르 면 프로그램 을 중단 하거나 중단 합 니 다.
     
    Continue 단 추 를 누 르 고 프로그램 을 계속 실행 합 니 다.
     
    6.정지점 설정
    정지점 설정 은 Debug 과정 에서 가장 많이 사용 되 는 기능 입 니 다.
    정지점 지시 VS 가 어느 줄 코드 로 실행 되 었 을 때 끊 습 니 다.프로그램 이 걸 렸 을 때 변수 값,메모리,코드 실행 분기 등 원 하 는 것 을 볼 수 있 습 니 다.
    정지점 설정 은 간단 합 니 다.편집 영역의 가장자리 에서 클릭 하거나 해당 코드 줄 에서 F9 를 누 르 면 옆 에 빨간색 원점 이 나타 납 니 다.이 빨간색 원점 은 정지점 을 대표 합 니 다.
     
    정지점 을 설정 하고 F5 를 누 르 면 프로그램 이 정지점 에서 멈 춥 니 다.
    움 직 이 는 그림 은 여기 있 습 니 다.
     
    다음 에 자주 사용 하 는 몇 가지 조작 은:
    F10
    step over code
    한 걸음 으로 실행 하 다.
    F11
    step into code
    내부 함수 로 건 너 뛰 기
    Shift+F11
    step out code
    현재 함수 에서 건 너 뛰 기
    여러 개의 정지점 을 설정 하여 F5,F10 등 단축 키 사 이 를 전환 하여 다른 정지점 으로 전환 할 수 있 습 니 다.
    7.변수 보기
    프로그램 이 정지점 까지 실 행 됩 니 다.멈 출 때 코드 의 변수,스 택 호출 상황 등 을 볼 수 있 습 니 다.예상 범위 내 에 있 는 지 확인 할 수 있 습 니 다.
     
    변수 위 에 마 우 스 를 올 려 놓 으 면 현재 값 을 볼 수 있 습 니 다.
    움 직 이 는 그림 을 하나 더 놓 아 라,좀 더 분명하게.
     
    총결산
    이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

    좋은 웹페이지 즐겨찾기