다음을 통해 공유


C++ 프로젝트에 대한 코드 맵

C++ 프로젝트에 대한 전체 맵을 더 만들려면 해당 프로젝트에서 찾아보기 정보 컴파일러 옵션(/FR)을 설정합니다. 그렇지 않으면 메시지가 나타나고 이 옵션을 설정하라는 메시지가 표시됩니다. 확인을 선택하면 현재 맵에 대한 옵션만 설정합니다. 이후의 모든 맵에 대한 메시지를 숨기도록 선택할 수 있습니다.

Visual C++ 프로젝트가 포함된 솔루션을 열면 IntelliSense 데이터베이스를 업데이트하는 데 다소 시간이 걸릴 수 있습니다. 이 시간 동안 IntelliSense 데이터베이스의 업데이트가 완료될 때까지 헤더(.h 또는 #include) 파일에 대한 코드 맵을 만들지 못할 수 있습니다. Visual Studio 상태 표시줄에서 업데이트 진행률을 모니터링할 수 있습니다.

  • 솔루션의 모든 원본 파일과 헤더 파일 간의 종속성을 보려면포함 파일의 그래프 생성>를 선택합니다.

    네이티브 코드에 대한 종속성 그래프

  • 현재 열려 있는 파일과 관련 소스 파일 및 헤더 파일 간의 종속성을 보려면 원본 파일 또는 헤더 파일을 엽니다. 파일 내의 아무 곳이나 파일 바로 가기 메뉴를 엽니다. 포함 파일의 그래프 생성을 선택합니다.

    .h 파일에 대한 첫 번째 수준 종속성 그래프

C 및 C++ 코드에 대한 코드 맵 문제 해결

C 및 C++ 코드에는 이러한 항목이 지원되지 않습니다.

  • 기본 형식은 부모 계층 구조를 포함하는 맵에 표시되지 않습니다.

  • 대부분의 표시 메뉴 항목은 C 및 C++ 코드에 사용할 수 없습니다.

이러한 문제는 C 및 C++ 코드에 대한 코드 맵을 만들 때 발생할 수 있습니다.

Issue 가능한 원인 Resolution
코드 맵을 생성하지 못했습니다. 솔루션의 프로젝트가 성공적으로 빌드되지 않았습니다. 발생한 빌드 오류를 수정한 다음 맵을 다시 생성합니다.
아키텍처 메뉴에서 코드 맵을 생성하려고 하면 Visual Studio가 응답하지 않습니다. 프로그램 데이터베이스(.pdb) 파일이 손상되었을 수 있습니다.

.pdb 파일은 형식, 메서드 및 원본 파일 정보와 같은 디버깅 정보를 저장합니다.
솔루션을 다시 빌드한 다음 다시 시도하세요.
IntelliSense 검색 데이터베이스에 대한 특정 설정은 사용하지 않도록 설정됩니다. Visual Studio 옵션 대화 상자에서 특정 IntelliSense 설정을 사용하지 않도록 설정할 수 있습니다. 설정을 켜세요.

옵션, 텍스트 편집기, C/C++, 고급을 참조하세요.
알 수 없는 메서드 메시지가 메서드 노드에 나타납니다.

이 문제는 메서드의 이름을 확인할 수 없기 때문에 발생합니다.
이진 파일에는 기본 재배치 테이블이 없을 수 있습니다. 링커에서 /FIXED:NO 옵션을 켭니다.
프로그램 데이터베이스(.pdb) 파일이 빌드되지 않을 수 있습니다.

.pdb 파일은 형식, 메서드 및 원본 파일 정보와 같은 디버깅 정보를 저장합니다.
링커에서 /DEBUG 옵션을 켭니다.
예상된 위치에서 .pdb 파일을 열거나 찾을 수 없습니다. .pdb 파일이 예상된 위치에 있는지 확인합니다.
디버그 정보가 .pdb 파일에서 제거되었습니다. 링커에서 /PDBSTRIPPED 옵션을 사용한 경우 전체 .pdb 파일을 대신 포함합니다.
호출자는 함수가 아니며 이진 파일의 Thunk 또는 데이터 섹션의 포인터입니다. 호출자가 "thunk"인 경우, _declspec(dllimport) 를 사용하여 "thunk"를 피하려고 시도해 보십시오.