다음을 통해 공유


편집 및 계속(C++)

C++ 프로젝트에서 이전에 '편집 및 계속'으로 불렸던 '핫 리로드' 기능을 사용할 수 있습니다. 기능의 제한 사항에 대한 자세한 내용은 지원되는 코드 변경(C++)을 참조하세요.

C++ 프로젝트에서 편집 및 계속을 사용할 수 있습니다. 편집하며 계속하기의 제한 사항에 대한 자세한 내용은 지원되는 코드 변경 내용(C++)을 참조하세요.

/Zo(최적화된 디버깅 향상) 컴파일러 옵션은 /Od(디버그 비활성화) 옵션 없이 컴파일된 바이너리의 .pdb(기호) 파일에 추가 정보를 추가합니다.

/Zo 옵션은 방법: 최적화 코드 디버그에 설명된 대로 편집 및 계속을 사용하지 않도록 설정합니다.

핫 리로드 사용 또는 사용 안 함

현재 디버깅 세션 중에 적용하지 않으려는 코드를 편집하는 경우 핫 다시 로드의 자동 호출을 사용하지 않도록 설정할 수 있습니다. 필요에 따라 자동 핫 다시 로드를 다시 사용하도록 설정할 수 있습니다.

중요합니다

필수 빌드 설정 및 기능 호환성에 대한 기타 정보는 Visual Studio 2015 업데이트 3에서 C++ 편집 및 계속을 참조하세요.

  1. 현재 디버깅 세션에 있는 경우 디버깅을 중지합니다(Shift + F5).
  1. 도구>옵션 창을 열고 모든 설정>디버깅>.NET/C++ 핫 다시 로드 섹션을 확장합니다.

  2. 연결된 디버거(F5)로 시작할 때 핫 다시 로드를 사용하도록 설정하려면 오른쪽 창에서 핫 다시 로드 사용 확인란을 선택합니다.

    확인란을 선택한 후 다음 옵션을 구성할 수 있습니다.

    핫 리로드 옵션 (Hot Reload 옵션) Description Default
    계속 시 변경 내용 자동 적용(네이티브 전용) 디버거 연결(F5)을 계속하면 변경 내용을 적용합니다. 활성화됨
    부실 코드에 대한 경고 디버거에서 수정되었지만 즉시 적용할 수 없는 코드가 발견되면 경고를 사용하도록 설정합니다. 활성화됨
    디버깅하지 않을 때 사용 디버거를 연결 하지 않고 시작할 때 핫 다시 로드를 사용하도록 설정합니다(Ctrl + F5). 활성화됨
    파일 저장 시 적용 파일이 저장되면 변경 내용을 적용합니다. Disabled
    로깅 세부 정보 표시 핫 다시 로드를 사용할 때 로깅 수준을 설정합니다. 최소, 상세 또는 진단 중에서 선택합니다. 최소
  1. 도구>옵션 대화 상자를 열고 디버깅>.NET/C++ 핫 리로드 섹션을 확장합니다.

  2. 다음 옵션 중 하나 또는 모두를 선택하여 기능을 사용하도록 설정합니다.

    • 핫 다시 로드 사용: 연결된 디버거(F5)로 시작할 때 핫 다시 로드를 사용하도록 설정합니다.

    • 디버깅하지 않고 시작할 때 핫 다시 로드 사용: 디버거를 연결 하지 않고 시작할 때 핫 다시 로드를 사용하도록 설정합니다(Ctrl + F5).

    • 파일 저장 시 핫 다시 로드 사용: 파일을 저장할 때 핫 다시 로드를 사용하도록 설정합니다.

    • 로깅 세부 정보: 핫 다시 로드를 사용하도록 설정할 때 로깅 수준을 설정합니다. 최소(기본값), 상세 또는 진단 중에서 선택합니다.

    이러한 설정을 변경하면 작업 중인 모든 프로젝트에 영향을 줍니다. 설정을 변경한 후에는 애플리케이션을 다시 빌드할 필요가 없습니다. 명령줄 또는 메이크파일에서 애플리케이션을 빌드하지만 Visual Studio 환경에서 디버그하는 경우 옵션을 설정한 /ZI 경우에도 편집하며 계속하기를 사용할 수 있습니다.

  3. 확인을 선택합니다.

"편집 및 계속 사용 설정 또는 해제"

현재 디버깅 세션 중에 적용하지 않으려는 코드를 편집하는 경우 편집 및 계속 자동 호출을 사용하지 않도록 설정할 수 있습니다. 필요에 따라 자동 편집 및 계속을 다시 사용하도록 설정할 수 있습니다.

중요합니다

필수 빌드 설정 및 기능 호환성에 대한 기타 정보는 Visual Studio 2015 업데이트 3에서 C++ 편집 및 계속을 참조하세요.

  1. 현재 디버깅 세션에 있는 경우 디버깅을 중지합니다(Shift + F5).

  2. 도구>옵션 대화 상자를 열고 디버깅> 섹션을 확장합니다.

  3. 편집하며 계속하려면 편집하며 계속하기 사용 확인란을 선택합니다. 옵션을 사용하지 않도록 설정하려면 확인란의 선택을 취소합니다.

  4. 편집하며 계속하기 그룹에서 네이티브 편집 및 계속 사용 확인란을 선택하거나 선택 취소합니다.

    이 설정을 변경하면 작업 중인 모든 프로젝트에 영향을 줍니다. 이 설정을 변경한 후에는 애플리케이션을 다시 빌드할 필요가 없습니다. 명령줄 또는 메이크파일에서 애플리케이션을 빌드하지만 Visual Studio 환경에서 디버그하는 경우 옵션을 설정한 /ZI 경우에도 편집하며 계속하기를 사용할 수 있습니다.

명시적으로 코드 변경 내용 적용

C++에서 편집 및 계속은 두 가지 방법으로 코드 변경 내용을 적용할 수 있습니다. 코드 변경 내용은 실행 명령을 선택할 때 암시적으로 적용하거나 코드 변경 내용 적용 명령을 사용하여 명시적으로 적용할 수 있습니다.

코드 변경 내용을 명시적으로 적용하면 프로그램이 중단 모드로 유지되며 실행이 발생하지 않습니다.

  • 코드 변경 내용을 명시적으로 적용하려면 디버그 메뉴에서 코드 변경 내용 적용을 선택합니다.

코드 변경을 중지하는 방법

편집 및 계속 기능은 코드 변경을 적용하는 중일 때 작업을 중단할 수 있습니다.

코드 변경 내용 적용을 중지하려면 다음을 수행합니다.

  • 디버그 메뉴에서 코드 변경 내용 적용 중지를 선택합니다.

    이 메뉴 항목은 코드 변경이 적용되는 경우에만 표시됩니다.

    이 옵션을 선택하면 코드 변경 내용이 커밋되지 않습니다.

실행 지점 다시 설정

일부 코드 변경으로 인해 편집하며 계속하기에서 변경 내용을 적용할 때 실행 지점이 새 위치로 이동될 수 있습니다. 이 기능은 실행 지점을 가능한 한 정확하게 배치하지만 모든 경우에 결과가 올바르지 않을 수 있습니다.

C++에서 실행 지점이 변경되면 대화 상자가 알려줍니다. 디버깅을 계속하기 전에 위치가 올바른지 확인해야 합니다. 올바르지 않으면 다음 문 설정 명령을 사용합니다. 자세한 내용은 실행할 다음 문 설정을 참조하세요.

오래된 코드 작업

경우에 따라 편집하며 계속하기는 실행 파일에 코드 변경 내용을 즉시 적용할 수 없지만 디버깅을 계속하면 나중에 코드 변경 내용을 적용할 수 있습니다. 이 시나리오는 현재 함수를 호출하는 함수를 편집하거나 호출 스택의 함수에 64바이트 이상의 새 변수를 추가하는 경우에 발생합니다.

이러한 경우 디버거는 변경 내용을 적용할 수 있을 때까지 원래 코드를 계속 실행합니다. 부실 코드는 별도의 원본 창에 임시 소스 파일 창으로 나타나며 제목은 다음과 같습니다 enc25.tmp. 편집된 원본은 원래 원본 창에 계속 표시됩니다. 부실 코드를 편집하려고 하면 경고 메시지가 나타납니다.