Ustawienia projektu dla konfiguracji debugowania w języku C++
Ustawienia projektu dla konfiguracji debugowania języka C lub C++ można zmienić w oknie dialogowym Strony właściwości, zgodnie z opisem w temacie How to: Set debug and release configurations (Jak ustawić konfiguracje debugowania i wydania). W poniższych tabelach pokazano, gdzie 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 Rozpoczynanie sesji debugowania (VB, C#, C++ i XAML).
Każde ustawienie właściwości debugowania jest automatycznie zapisywane i zapisywane w pliku "na użytkownika" (.vcxproj.user) dla rozwiązania podczas zapisywania rozwiązania.
Określ, który debuger ma być używany w polu Listy uruchamiania debugera, zgodnie z opisem w poniższej tabeli. Wybór będzie mieć 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: - Lokalny debuger systemu Windows - Zdalny debuger systemu Windows - Debuger przeglądarki internetowej - Debuger usługi internetowej |
Polecenie (lokalny debuger systemu Windows) | Określa polecenie uruchamiania programu debugowania na komputerze lokalnym. |
Zdalne polecenie (zdalny debuger systemu Windows) | Ścieżka pliku .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 określonego wcześniej polecenia. 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 plik stderr. 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, aby zastąpić %. Jeśli używasz polecenia Rozpocznij debugowanie , podwójne cudzysłowy unikną poprzednich poleceń, takich jak "<", aby zastąpić <wartość . |
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łączanie (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 Makra dla poleceń kompilacji i właściwości. |
Połączenie ion (zdalny debuger systemu 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łączenie ion obejmują następujące elementy: - Zdalne z uwierzytelnianiem systemu Windows - 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. |
Adres URL HTTP (debuger usługi internetowej i debuger przeglądarki internetowej) | Określa adres URL, pod którym znajduje się debugowane projekt. |
Typ debugera | Określa typ debugera do użycia: tylko natywny, tylko zarządzany, tylko procesor GPU, mieszany, automatyczny (domyślny) lub skrypt. - Tylko natywny jest przeznaczony dla niezarządzanych kodu C++. - Tylko zarządzany jest w przypadku kodu, który działa w środowisku uruchomieniowym języka wspólnego (kod zarządzany). - Mieszane wywołuje debugery zarówno dla kodu zarządzanego, jak i niezarządzanego. - Automatycznie określa typ debugera na podstawie informacji kompilatora i pliku EXE. - Skrypt wywołuje debuger skryptów. - Tylko procesor GPU jest przeznaczony dla kodu C++ AMP, który działa na urządzeniu GPU lub na rasterizatorze odwołań DirectX. Zobacz Debugowanie kodu procesora GPU. |
Środowisko (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 Scal środowisko . 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. |
Scalanie środowiska (lokalny debuger systemu Windows) | Określa, czy zmienne określone w polu Środowisko zostaną scalone ze środowiskiem zdefiniowanym przez system operacyjny. Ustawienie domyślne to Tak. |
Debugowanie SQL (tylko debuger klastra MPI) | Umożliwia debugowanie procedur SQL z poziomu aplikacji Visual C++. Ustawienie domyślne to Nie. |
Typ akceleratora debugowania (tylko debugowanie procesora GPU) | Określa urządzenie gpu do użycia do debugowania. Zainstalowanie sterowników urządzeń dla zgodnych urządzeń z procesorem GPU spowoduje dodanie dodatkowych opcji. Ustawieniem domyślnym jest procesor GPU — emulator oprogramowania. |
Domyślne zachowanie punktu przerwania procesora GPU (tylko debugowanie procesora GPU) | Określa, czy zdarzenie punktu przerwania powinno być zgłaszane dla każdego wątku w warp SIMD. Ustawieniem domyślnym jest podniesienie zdarzenia punktu przerwania tylko raz na warp. |
Akcelerator domyślny amp | Określa domyślny akcelerator AMP podczas debugowania kodu procesora GPU. Wybierz akcelerator oprogramowania WARP, aby sprawdzić, czy problem jest spowodowany przez sprzęt lub sterownik zamiast kodu. |
Katalog wdrażania (zdalny debuger systemu Windows) | Określa ścieżkę na komputerze zdalnym, na którym zostaną skopiowane dane wyjściowe projektu przed uruchomieniem. Ścieżka może być udziałem sieciowym na komputerze zdalnym lub może być ścieżką 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 How to: Create and edit configurations (Instrukcje: tworzenie i edytowanie konfiguracji). |
Dodatkowe pliki do wdrożenia (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 How to: Create and edit configurations (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, określa, czy biblioteki środowiska uruchomieniowego debugowania 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 zgodne. 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 opracować za pomocą pominiętej optymalizacji, a następnie włączyć ją podczas tworzenia produkcyjnej wersji kodu. |
Folder konsolidatora (kategoria debugowania)
Ustawienie | opis |
---|---|
Generowanie informacji o debugowaniu (/DEBUG) | Informuje konsolidator o dołączeniu informacji debugowania, które będą miały format określony 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ć pozycję ZI lub /Zi w polu Format informacji debugowania. |
Usuń symbole prywatne (/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 (Usuwanie prywatnych symboli). |
Generowanie pliku mapy (/MAP) | Informuje konsolidatora o wygenerowaniu pliku mapy podczas łączenia. Ustawienie domyślne to Nie. Aby uzyskać więcej informacji, zobacz /MAP (Generuj plik Mapfile). |
Nazwa pliku mapy (/MAP:name) | Jeśli wybierzesz pozycję Generuj plik mapy, możesz określić plik mapy w tym polu. Aby uzyskać więcej informacji, zobacz /MAP (Generuj plik 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). |
Zestaw debugowalny (/ASSEMBLYDEBUG) | Określa ustawienia opcji Konsolidator /ASSEMBLYDEBUG. Dopuszczalne wartości: - Brak emitowanego atrybutu debugowalnego. - Śledzenie i wyłączanie optymalizacji środowiska uruchomieniowego (/ASSEMBLYDEBUG). Jest to ustawienie domyślne, - Brak śledzenia środowiska uruchomieniowego i włączanie optymalizacji (/ASSEMBLYDEBUG:DISABLE). - <dziedziczyć z wartości domyślnych> elementu nadrzędnego lub projektu. - Aby uzyskać więcej informacji, zobacz /ASSEMBLYDEBUG (Dodawanie debugowaniaAttribute). |
Te ustawienia można zmienić programowo w folderze Właściwości konfiguracji (kategoria debugowania) przy użyciu interfejsu Microsoft.VisualStudio.VCProjectEngine.VCDebug Ustawienia. W celu uzyskania więcej informacji, zobacz następujący temat: 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 przy użyciu 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.