Udostępnij za pośrednictwem


Ustawienia projektu dla konfiguracji debugowania języka C++

Możesz zmienić ustawienia projektu dla konfiguracji debugowania w języku C lub C++ w oknie dialogowym Strony właściwości, jak opisano w Jak: Ustawić konfiguracje debugowania i wydania. W poniższych tabelach pokazano, gdzie znaleźć ustawienia związane z debugerem w oknie dialogowym stron właściwości .

Notatka

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 Rozpoczynanie sesji debugowania (VB, C#, C++ i XAML).

Każde ustawienie właściwości debugowania jest automatycznie zapisywane i zapisywane w pliku "per-user" (.vcxproj.user) dla rozwiązania podczas zapisywania rozwiązania.

Określ, który debuger ma być używany w debugerze , aby uruchomić pole listy, zgodnie z opisem w poniższej tabeli. Wybór ma wpływ na to, które właściwości są widoczne.

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

Ustawienie opis
Debugger do uruchomienia Określa debuger do uruchomienia z następującymi opcjami:

- Lokalny debuger systemu Windows
- Zdalny Debuger Windows
- debuger przeglądarki internetowej
- Debuger usługi sieciowej
Polecenie (lokalny debuger systemu Windows) Określa polecenie uruchamiania programu debugowania na komputerze lokalnym.
Zdalne Polecenie (Zdalny Debugger Systemu Windows) Ścieżka .exe na komputerze zdalnym. Wprowadź ścieżkę tak samo, jak wprowadzoną na maszynie zdalnej.
argumenty poleceń (lokalny debuger systemu Windows)

argumenty poleceń zdalnych (zdalny debuger systemu Windows)
- Określa argumenty dla debugowania programu. Aby uzyskać więcej informacji o sposobach ustawiania argumentów wiersza polecenia, zobacz artykuł Send command-line arguments to a debugee (C++).

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 zawartość 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.

Jeśli musisz użyć znaków ucieczki w poleceniu, możesz użyć wartości ASCII, takich jak %25 zastąpić %. Jeśli używasz polecenia Rozpocznij debugowanie, podwójne cudzysłowy unikną powyższych poleceń, takich jak "<", aby zastąpić <.
katalog roboczy Określa katalog roboczy debugowanego programu względem katalogu projektu, w którym znajduje się plik EXE. Jeśli pozostawisz to pole puste, katalog roboczy jest katalogem projektu. W przypadku zdalnego debugowania katalog projektu znajduje się na serwerze zdalnym.
Dołącz (Lokalny Debuger systemu Windows i Zdalny Debuger systemu Windows) Określa, czy należy uruchomić aplikację, czy dołączyć ją. Ustawienie domyślne to Nie.
nazwa serwera zdalnego (zdalny debuger systemu Windows) 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 Macros for build commands and properties.
Połączenie (Zdalny debuger Windows) Umożliwia przełączanie się między standardowymi i bez uwierzytelniania typów połączeń na potrzeby zdalnego debugowania. Określ nazwę komputera zdalnego w polu nazwa serwera zdalnego . Typy połączeń obejmują następujące elementy:

- Połączenie zdalne z wykorzystaniem uwierzytelniania systemu Windows
- Połączenie zdalne bez uwierzytelniania

Uwaga Debugowanie zdalne bez uwierzytelniania może pozostawić komputer zdalny narażony na naruszenia zabezpieczeń. Tryb uwierzytelniania systemu Windows jest bezpieczniejszy.

Aby uzyskać więcej informacji, zobacz Konfiguracja debugowania zdalnego.
HTTP adres URL (debuger usługi internetowej i debuger przeglądarki internetowej) Określa adres URL, pod którym znajduje się projekt, który debugujesz.
Typ debugera Określa typ debugera do użycia: tylko natywny, tylko zarządzany, tylko GPU, mieszany, auto (wartość domyślna) lub skrypt.

- natywny tylko jest przeznaczony dla niezarządzanych kodu C++.
- Tylko zarządzany jest przeznaczony dla kodu, który działa w środowisku uruchomieniowym języka wspólnego (kod zarządzany).
- Mieszane wywołuje debugery dla kodu zarządzanego i niezarządzanego.
- Auto określa typ debugera na podstawie informacji kompilatora i pliku EXE.
- Script wywołuje debuger skryptów.
- procesor GPU tylko jest przeznaczony dla kodu C++ AMP, który działa na urządzeniu GPU lub rasterizatora odwołań DirectX. Zobacz Debugowanie kodu procesora GPU.
Environment (Lokalny debuger systemu Windows i zdalny debuger systemu Windows) Określa zmienne środowiskowe dla debugowania 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 Merge Environment. Po kliknięciu prawej kolumny zostanie wyświetlony komunikat "Edytuj". Wybierz ten link, aby otworzyć Edytor właściwości i edytować zmienne środowiskowe. Aby dodać wiele zmiennych środowiskowych, użyj edytora właściwości i dodaj jedną zmienną na wiersz.
Środowisko scalania (lokalny debugger systemu Windows) Określa, czy zmienne określone w polu środowiska są scalane ze środowiskiem zdefiniowanym przez system operacyjny. Ustawienie domyślne to Tak.
debugowanie SQL (wszystko oprócz debugera klastra MPI) Umożliwia debugowanie procedur SQL z poziomu aplikacji Visual C++. Ustawienie domyślne to Nie.
Debugowanie typu akceleratora (tylko debugowanie GPU) Określa urządzenie gpu do użycia do debugowania. Instalowanie sterowników urządzeń dla zgodnych urządzeń z procesorem GPU dodaje dodatkowe opcje. Domyślnym ustawieniem jest GPU — emulator oprogramowania.
Domyślne ustawienia punktu przerwania GPU (tylko debugowanie GPU) Określa, czy zdarzenie punktu przerwania powinno być zgłaszane dla każdego wątku w warp SIMD. Ustawieniem domyślnym jest wygenerowanie zdarzenia punktu przerwania tylko raz na warp.
akcelerator domyślny Określa domyślny akcelerator AMP podczas debugowania kodu procesora GPU. Wybierz akcelerator oprogramowania WARP, aby sprawdzić, czy problem jest spowodowany przez sprzęt czy sterownik zamiast twojego kodu.
Katalog wdrożeniowy (Zdalny debuger systemu Windows) Określa ścieżkę na komputerze zdalnym, na którym dane wyjściowe projektu są kopiowane przed uruchomieniem. Ścieżka może stanowić udział sieciowy na komputerze zdalnym lub prowadzić 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 Wdróż w oknie dialogowym Configuration Manager. Aby uzyskać więcej informacji, zobacz Instrukcje: tworzenie i edytowanie konfiguracji.
Dodatkowe Pliki do Wdrażania (Zdalny Debuger Systemu Windows) Jeśli właściwość Katalog wdrażania jest ustawiona, jest to rozdzielana średnikami lista dodatkowych folderów lub plików do skopiowania do katalogu wdrożenia. Ustawienie domyślne jest puste, co oznacza, że żadne dodatkowe foldery lub pliki nie są kopiowane do katalogu wdrożenia. Aby skopiować zawartość folderu do tego samego folderu w katalogu wdrażania, określ nazwę folderu. Aby włączyć wdrażanie plików, należy również zaznaczyć pole wyboru Wdróż w oknie dialogowym Configuration Manager. Aby uzyskać więcej informacji, zobacz Instrukcje: tworzenie i edytowanie konfiguracji.
wdrażanie bibliotek środowiska uruchomieniowego debugowania Visual C++ (zdalny debuger systemu Windows) Jeśli właściwość Katalog wdrażania jest ustawiona, to określa, czy biblioteki debugowania środowiska uruchomieniowego Visual C++ 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 do utworzenia dla projektu.

Opcja domyślna (/ZI) tworzy bazę danych programu (PDB) w formacie "Edytuj i kontynuuj" zgodnym. 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 jest już zgodny z kodem źródłowym, co sprawia, że debugowanie jest trudniejsze.

Opcja domyślna (Wyłączone (/0d)) pomija optymalizację. Możesz programować z wyłączoną optymalizacją, a następnie włączyć ją, gdy tworzysz produkcyjną wersję kodu.

Folder linkera (kategoria debugowania)

Ustawienie Opis
Generowanie informacji debugowania (/DEBUG) Informuje konsolidatora o dołączeniu informacji debugowania o formacie określonym przez /Z7, /Zd, Zi lub /ZI.
Generowanie pliku bazy danych programu (/PDB:name) Określ nazwę pliku bazy danych programu (PDB) w tym polu. Musisz wybrać ZI lub /Zi jako format informacji debugowania.
Strip Private Symbole (/PDBSTRIPPED:nazwa pliku) Określ nazwę pliku PDB w tym polu, jeśli nie chcesz dołączać prywatnych symboli do pliku PDB. Ta opcja tworzy drugi plik PDB podczas kompilowania obrazu programu przy użyciu dowolnej z opcji kompilatora lub konsolidatora, które generują plik PDB, takie jak /DEBUG, /Z7, /Zd. Lub /Zi. Ten drugi plik PDB pomija symbole, których nie chcesz wysyłać do klientów. Aby uzyskać więcej informacji, zobacz /PDBSTRIPPED (Usuń prywatne symbole).
Generowanie pliku mapy (/MAP) Informuje linker o wygenerowaniu mapy podczas łączenia. Ustawienie domyślne to Nie. Aby uzyskać więcej informacji, zobacz /MAP (Generate Mapfile).
nazwa pliku mapy (/MAP:nazwa) Jeśli wybierzesz pozycję Generuj plik mapy, możesz określić plik mapy w tym polu. Aby uzyskać więcej informacji, zobacz /MAP (Generate Mapfile).
Eksporty map (/MAPINFO:EXPORT) Zawiera wyeksportowane funkcje w pliku mapy. Ustawienie domyślne to Nie. Aby uzyskać więcej informacji, zobacz /MAPINFO (Uwzględnij informacje w pliku Mapfile).
Debuggowany zestaw (/ASSEMBLYDEBUG) Określa ustawienia opcji Linker /ASSEMBLYDEBUG. Możliwe wartości to:

- brak emitowanego atrybutu debugowalnego.
- śledzenie uruchomieniowe i wyłączanie optymalizacji (/ASSEMBLYDEBUG). Jest to ustawienie domyślne,
- Brak śledzenia środowiska uruchomieniowego i włączanie optymalizacji (/ASSEMBLYDEBUG:DISABLE).
- <dziedziczą ustawienia domyślne projektu nadrzędnego lub projektu>.
- Aby uzyskać więcej informacji, zobacz /ASSEMBLYDEBUG (Add DebuggableAttribute).

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

Inne ustawienia projektu

Aby debugować typy projektów, takie jak biblioteki statyczne i biblioteki DLL, projekt programu Visual Studio musi mieć możliwość znalezienia odpowiednich plików. 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 Tworzenie biblioteki linków dynamicznych (DLL) i Tworzenie biblioteki statycznej. Za pomocą dostępnego kodu źródłowego możesz również utworzyć nowy projekt programu Visual Studio, wybierając pozycję Plik>Nowy projekt>z istniejącego kodu.

Aby debugować biblioteki DLL spoza projektu, 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 Jak debugować z projektu DLL.

Zobacz też