Ustawienia projektu dla konfiguracji debugowania w języku C++

Ustawienia projektu dla konfiguracji debugowania w języku C lub C++ można zmienić w oknie dialogowym Strony właściwości, zgodnie z omówieniem w artykule Jak ustawić konfiguracje debugowania i wydania. W poniższych tabelach przedstawiono, gdzie można znaleźć ustawienia związane z debugerem w oknie dialogowym Strony właściwości.

Uwaga

Ustawienia projektu debugowania w kategorii Właściwości konfiguracji/Debugowanie różnią się w przypadku aplikacji platformy UWP i składników napisanych w języku C++. Zobacz Uruchamianie sesji debugowania (VB, C#, C++ i XAML).

Każde ustawienie właściwości debugowania jest automatycznie zapisywane w pliku "na użytkownika" (vcxproj.user) rozwiązania podczas zapisywania rozwiązania.

Określ debuger, który ma być w debugerze do uruchamiania pola listy, zgodnie z opisem w poniższej tabeli. Wybór będzie miał wpływ na to, które właściwości są widoczne.

Folder Właściwości konfiguracji (kategoria debugowania)

Ustawienie Opis
Debuger do uruchomienia Określa debuger do uruchomienia z następującymi opcjami:

- Debuger Windows lokalnego
- Debuger Windows zdalnego
- Debuger przeglądarki internetowej
- Debuger usługi internetowej
Polecenie (debuger Windows lokalnego) Określa polecenie uruchamiania programu, który jest debugowania na komputerze lokalnym.
Zdalne polecenie (debuger Windows zdalnego) Ścieżka do .exe na komputerze zdalnym. Wprowadź ścieżkę tak samo jak na maszynie zdalnej.
Argumenty polecenia (debuger Windows lokalnym)

Argumenty polecenia zdalnego (debuger Windows zdalnego)
- Określa argumenty dla polecenia określonego wcześniej.

W tym polu można użyć następujących operatorów przekierowania:

< file
Odczytuje stdin z pliku.

> file
Zapisuje stdout do pliku.

>> file
Dołącza stdout do pliku.

2> file
Zapisuje stderr do pliku.

2>> file
Dołącza stderr do pliku.

2> &1
Wysyła dane wyjściowe stderr (2) do tej samej lokalizacji co stdout (1).

1> &2
Wysyła dane wyjściowe stdout (1) do tej samej lokalizacji co stderr (2).

W większości przypadków te operatory mają zastosowanie tylko do aplikacji konsolowych.
Katalog roboczy Określa katalog roboczy debugowany program względem katalogu projektu, w którym znajduje się plik EXE. Jeśli pozostawisz to pole puste, katalog roboczy będzie katalogiem projektu. W przypadku debugowania zdalnego katalog projektu znajduje się na serwerze zdalnym.
Dołączanie (debuger Windows i debuger Windows zdalnego) Określa, czy aplikacja ma być uruchamiana, czy dołączana. Ustawieniem domyślnym jest Nie.
Nazwa serwera zdalnego (debuger Windows zdalnego) Określa nazwę komputera (innego niż Twój), na którym chcesz debugować aplikację.

Makro kompilacji RemoteMachine jest ustawione na wartość tej właściwości; Aby uzyskać więcej informacji, zobacz Makra dla poleceń kompilacji i właściwości.
Połączenie (zdalne Windows debuger) Umożliwia przełączanie między typami połączeń standardowych i bez uwierzytelniania na potrzeby debugowania zdalnego. Określ nazwę komputera zdalnego w nazwa serwera zdalnego pole. Typy połączeń są następujące:

- Zdalne z Windows uwierzytelniania
- Zdalne bez uwierzytelniania

Uwaga Debugowanie zdalne bez uwierzytelniania może spowodować, że komputer zdalny będzie narażony na naruszenia zabezpieczeń. Windows tryb uwierzytelniania jest bezpieczniejszy.

Aby uzyskać więcej informacji, zobacz Remote debugging setup (Konfiguracja zdalnego debugowania).
Adres URL HTTP (debuger usługi internetowej i debuger przeglądarki internetowej) Określa adres URL, pod którym znajduje się debugowanie projektu.
Typ debugera Określa typ debugera, który ma być używany: Tylko natywne, Tylko zarządzane, Tylko procesor GPU, Mieszany, Automatyczny (domyślny) lub Skrypt.

- Tylko natywna dotyczy niezabędnego kodu C++.
- Tylko zarządzane dotyczy kodu uruchamianego w środowisku uruchomieniowym języka wspólnego (kod zarządzany).
- Mieszany wywołuje debuger zarówno dla kodu zarządzanego, jak i nieza zarządzania.
- Automatycznie określa typ debugera na podstawie informacji o kompilatorze i pliku EXE.
- Skrypt wywołuje debuger skryptów.
- Tylko procesor GPU jest C++ AMP uruchamiany na urządzeniu GPU lub w rasteryzatorze referencyjnym DirectX. Zobacz Debugowanie kodu procesora GPU.
Środowisko (debuger Windows i debuger Windows zdalnego) Określa zmienne środowiskowe dla debugego programu. Użyj standardowej składni zmiennej środowiskowej (na przykład PATH="%SystemRoot%\..." ). Te zmienne zastępują środowisko systemowe lub są scalane ze środowiskiem systemowym, w zależności od ustawienia Scal środowisko. Po kliknięciu lewym przyciskiem myszy w kolumnie ustawień zostanie wyświetlony komunikat "Edytuj...". Wybierz ten link, aby edytować zmienne środowiskowe.
Środowisko scalania (debuger Windows lokalnego) Określa, czy zmienne, które są określone w środowisku pole zostaną scalone ze środowiskiem zdefiniowanym przez system operacyjny. Ustawieniem domyślnym jest Tak.
SQL debugowania (wszystkie oprócz debugera klastra MPI) Umożliwia debugowanie SQL z Visual C++ aplikacji. Ustawieniem domyślnym jest Nie.
Typ akceleratora debugowania (tylko debugowanie procesora GPU) Określa urządzenie procesora GPU do użycia na potrzeby debugowania. Zainstalowanie sterowników urządzeń dla zgodnych urządzeń GPU spowoduje dodanie dodatkowych opcji. Ustawieniem domyślnym jest procesor GPU — oprogramowanie Emulator.
Domyślne zachowanie punktu przerwania procesora GPU (tylko debugowanie procesora GPU) Określa, czy zdarzenie punktu przerwania powinno być wywoływane dla każdego wątku w warp SIMD. Ustawieniem domyślnym jest podnoszenie zdarzenia punktu przerwania tylko raz dla każdego warp.
Akcelerator domyślny amp Określa domyślny akcelerator AMP podczas debugowania kodu gpu. Wybierz akcelerator oprogramowania WARP, aby zbadać, czy problem jest spowodowany przez sprzęt, czy sterownik zamiast kodu.
Katalog wdrożenia (debuger Windows zdalnego) Określa ścieżkę na komputerze zdalnym, gdzie dane wyjściowe projektu zostaną skopiowane przed uruchomieniem. Ścieżka może być udziału sieciowego na komputerze zdalnym lub ścieżka do folderu na komputerze zdalnym. Ustawienie domyślne jest puste, co oznacza, że dane wyjściowe projektu nie są kopiowane do udziału sieciowego. Aby włączyć wdrażanie plików, należy również zaznaczyć pole wyboru Wd wdrażaj w Menedżer konfiguracji dialogowym. Aby uzyskać więcej informacji, zobacz Tworzyć i edytować konfiguracje.
Dodatkowe pliki do wdrożenia (zdalne Windows debuger) Jeśli właściwość Katalog wdrażania jest ustawiona, jest to rozdzielana średnikami lista dodatkowych plików do skopiowania do katalogu wdrożenia. Ustawienie domyślne jest puste, co oznacza, że żadne dodatkowe pliki nie są kopiowane do katalogu wdrożenia. Aby włączyć wdrażanie plików, należy również zaznaczyć pole wyboru Wd wdrażaj w Menedżer konfiguracji dialogowym. Aby uzyskać więcej informacji, zobacz Tworzyć i edytować konfiguracje.
Wdrażanie Visual C++ środowiska uruchomieniowego debugowania (debuger Windows zdalnego) Jeśli właściwość Katalog wdrażania jest ustawiona, określa, czy Visual C++ środowiska uruchomieniowego debugowania dla bieżącej platformy powinny być kopiowane do udziału sieciowego. Ustawieniem domyślnym jest Tak.

Folder C/C++ (kategoria ogólna)

Ustawienie Opis
Format informacji debugowania (/Z7, /Zd, Zi, /ZI) Określa typ informacji debugowania, które mają zostać utworzone dla projektu.

Opcja domyślna (/ZI) tworzy bazę danych programu (PDB) w formacie zgodnym z funkcją Edytuj i kontynuuj. Aby uzyskać więcej informacji, zobacz /Z7, /Zd, /Zi, /ZI (Format informacji debugowania).

Folder C/C++ (kategoria optymalizacji)

Ustawienie Opis
Optymalizacja Określa, czy kompilator powinien zoptymalizować kod, który tworzy. Optymalizacja zmienia wykonywany kod. Zoptymalizowany kod nie pasuje już do kodu źródłowego, co utrudnia debugowanie.

Opcja domyślna (Wyłączone (/0d)) pomija optymalizację. Możesz programować z pominięciem optymalizacji, a następnie włączyć ją podczas tworzenia produkcyjnej wersji kodu.

Folder linkera (kategoria debugowania)

Ustawienie Opis
Generowanie informacji o debugowaniu (/DEBUG) Informuje program do dołączania informacji debugowania, które będą mieć format określony przez /Z7, /Zd, Zi lub /ZI.
Generowanie pliku bazy danych programu (/PDB:name) W tym polu określ nazwę pliku bazy danych programu (PDB). Należy wybrać opcję ZI lub /Zi w formacie informacji debugowania.
Strip Private Symbols (/PDBSTRIPPED:filename) Określ nazwę pliku PDB w tym polu, jeśli nie chcesz uwzględniać symboli prywatnych w pliku PDB. Ta opcja tworzy drugi plik PDB podczas kompilowania obrazu programu przy użyciu dowolnej opcji kompilatora lub linkera, które generują plik PDB, takich jak /DEBUG, /Z7, /Zd. Lub /Zi. Ten drugi plik PDB pomija symbole, których nie chcesz dostarczać klientom. Aby uzyskać więcej informacji, zobacz /PDBSTRIPPED (Usuwania symboli prywatnych).
Generowanie pliku mapy (/MAP) Nakazuje programowi linkerowi wygenerowanie pliku mapy podczas łączenia. Ustawieniem domyślnym jest Nie. Aby uzyskać więcej informacji, zobacz /MAP (Generuj plik mapy).
Mapowanie nazwy pliku (/MAP:name) Jeśli wybierzesz pozycję Generuj plik mapy, w tym polu możesz określić plik mapy. Aby uzyskać więcej informacji, zobacz /MAP (Generuj plik mapy).
Map Exports (/MAPINFO:EXPORTS) Zawiera wyeksportowane funkcje w pliku mapy. Ustawieniem domyślnym jest Nie. Aby uzyskać więcej informacji, zobacz /MAPINFO (Dołącz informacje do Mapfile).
Zestaw debugowalny (/ASSEMBLYDEBUG) Określa ustawienia dla opcji Linker /ASSEMBLYDEBUG. Możliwe wartości:

- Brak atrybutu, który można debugować, nie został emitowany.
- Śledzenie środowiska uruchomieniowego i wyłączanie optymalizacji (/ASSEMBLYDEBUG). Jest to ustawienie domyślne.
- Brak śledzenia środowiska uruchomieniowego i włączanie optymalizacji (/ASSEMBLYDEBUG:DISABLE).
- <inherit from parent or project defaults>.
- Aby uzyskać więcej informacji, zobacz /ASSEMBLYDEBUG (Dodaj DebuggableAttribute).

Te ustawienia można zmienić w folderze Właściwości konfiguracji (kategoria debugowania) programowo przy użyciu interfejsu Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings. Aby uzyskać więcej informacji, zobacz VCDebugSettings.

Inne ustawienia projektu

Aby można było debugować typy projektów, takie jak biblioteki statyczne i biblioteki DLL, Visual Studio projektu musi być w stanie znaleźć poprawne pliki. Gdy kod źródłowy jest dostępny, możesz dodać biblioteki statyczne i biblioteki DLL jako oddzielne projekty do tego samego rozwiązania, aby ułatwić debugowanie. Aby uzyskać informacje na temat tworzenia tych typów projektów, zobacz Creating and using a Dynamic Link Library (DLL) (Tworzenie i używanie biblioteki DLL) i Creating a using a static library (Tworzenie biblioteki statycznej). Przy dostępnym kodzie źródłowym można również utworzyć nowy projekt Visual Studio wybierając pozycję Nowy plik > > Project Z istniejącego kodu.

Aby debugować biblioteki DLL, które znajdują się poza projektem, zobacz Debugowanie projektów DLL. Jeśli musisz debugować własny projekt DLL, ale nie masz dostępu do projektu dla aplikacji wywołującej, zobacz How to debug from a DLL project (Jak debugować z projektu DLL).

Zobacz też