Mapy kodu dla projektów C++

Jeśli chcesz utworzyć bardziej kompletne mapy dla projektów języka C++, ustaw opcję kompilatora informacji przeglądania (/FR) dla tych projektów. W przeciwnym razie pojawi się komunikat i monit o ustawienie tej opcji. Jeśli wybierzesz przycisk OK, spowoduje to ustawienie opcji tylko dla bieżącej mapy. Możesz ukryć komunikat dla wszystkich późniejszych map.

Po otwarciu rozwiązania, które zawiera projekty Visual C++, aktualizacja bazy danych w technologii IntelliSense może zająć trochę czasu. W tym czasie może nie być możliwe utworzenie map kodu dla plików nagłówka (h lub #include) do momentu zakończenia aktualizacji bazy danych IntelliSense. Można monitorować postęp uaktualnienia na pasku stanu programu Visual Studio.

  • Aby wyświetlić zależności między wszystkimi plikami źródłowymi i plikami nagłówków w rozwiązaniu, wybierz pozycję Architektura>Generuj graf dołączania plików.

    Dependency graph for native code

  • Aby wyświetlić zależności między aktualnie otwartym plikiem i powiązanymi plikami źródłowymi i plikami nagłówka, otwórz plik źródłowy lub plik nagłówkowy. Otwórz menu skrótów do pliku w dowolnym miejscu w pliku. Wybierz pozycję Generuj graf dołączania plików.

    First-level dependency graph for .h file

Rozwiązywanie problemów z mapami kodu dla kodu C i C++

Te elementy nie są obsługiwane w kodzie C i C++:

  • Typy podstawowe nie są wyświetlane na mapach zawierających hierarchię nadrzędną.

  • Większość elementów menu Pokaż nie jest dostępna dla kodu C i C++.

Te problemy mogą wystąpić podczas tworzenia map kodu dla kodu C i C++:

Problem Możliwa przyczyna Rozwiązanie
Nie można wygenerować mapy kodu. Żadne projekty w rozwiązaniu nie zostały pomyślnie skompilowane. Napraw błędy kompilacji, które wystąpiły, a następnie ponownie wygeneruj mapę.
Program Visual Studio przestaje odpowiadać podczas próby wygenerowania mapy kodu z menu Architektura . Plik bazy danych programu (.pdb) może być uszkodzony.

Plik .pdb przechowuje informacje debugowania, takie jak typ, metoda i informacje o pliku źródłowym.
Kompiluj rozwiązanie ponownie, a następnie spróbuj jeszcze raz.
Niektóre ustawienia dla bazy danych przeglądania IntelliSense są wyłączone. Niektóre ustawienia funkcji IntelliSense mogą być wyłączone w oknie dialogowym Opcje programu Visual Studio. Włącz te ustawienia.

Zobacz Opcje, Edytor tekstu, C/C++, Zaawansowane.
Komunikat Nieznane metody jest wyświetlany w węźle metody.

Ten problem występuje, ponieważ nie można rozpoznać nazwy metody.
Plik binarny może nie mieć podstawowej tabeli relokacji. Włącz opcję /FIXED:NO w konsolidatorze.
Plik bazy danych programu (.pdb) może nie być skompilowany.

Plik .pdb przechowuje informacje debugowania, takie jak typ, metoda i informacje o pliku źródłowym.
Włącz opcję /DEBUG w konsolidatorze.
Nie można otworzyć lub znaleźć pliku .pdb w oczekiwanych lokalizacjach. Upewnij się, że plik .pdb istnieje w oczekiwanych lokalizacjach.
Informacje o debugowaniu pochodzą z pliku .pdb. Jeśli /PDBSTRIPPED opcja została użyta w konsolidatorze, dołącz kompletny plik .pdb zamiast.
Obiekt wywołujący nie jest funkcją i jest albo osadzony w pliku binarnym, albo stanowi wskaźnik w sekcji danych. Gdy rozmówca jest thunk, spróbuj użyć _declspec(dllimport) , aby uniknąć thunk.