Obsługiwane zmiany kodu i ograniczenia (C++)
Edytuj i Kontynuuj dla języka Visual C++ obsługuje większość typów zmian w kodzie.Jednak niektóre zmiany nie zostaną zastosowane podczas wykonywania programu.Aby zastosować te zmiany, należy zatrzymać wykonanie i tworzyć nową wersję kodu.
Zobacz Edytuj i kontynuuj (Visual C++) informacje na temat pracy z Edytuj i Kontynuuj c++ w programie Visual Studio.
W tym artykule
Nieobsługiwana zmian
Nieobsługiwane scenariusze
Ograniczenia połączeń
Ograniczenia wstępnie skompilowanym nagłówka
Ograniczenia atrybut IDL
Nieobsługiwana zmian
Nie można zastosować następujące zmiany C/C++ podczas sesji debugowania:
Większość zmian danych globalnych lub statycznego.
Zmiany plików wykonywalnych, które są kopiowane z innego komputera i nie zawierają wbudowane lokalnie.
Zmiany typu danych wpływających na układ obiektu, na przykład elementy danych klasy.
Dodawanie więcej niż 64 KB nowego kodu lub danych.
Dodawanie zmiennych, które wymagają konstruktora w punkcie przed wskaźnik instrukcji.
Zmiany, które mają wpływ na kod, który wymaga inicjowania w czasie wykonywania.
W niektórych przypadkach, dodawanie mechanizmy obsługi wyjątków.
Zmiany do plików zasobów.
Zmiany kodu w plikach tylko do odczytu.
Zmiany kodu bez plik PDB.
Zmiany kodu, który nie ma obiektu pliku.
Jeśli jeden te zmiany, a następnie spróbuj zastosować zmiany kodu, błąd lub ostrzeżenie pojawia się w danych wyjściowych okna.
- Edytuj i Kontynuuj nie aktualizuje bibliotek statycznych.Jeśli zostaną wprowadzone zmiany w bibliotece statyczne wykonania kontynuuje starej wersji i ostrzeżenie nie jest generowane.
Nieobsługiwane scenariusze
Edytuj i Kontynuuj C/c++ jest niedostępna w następujących scenariuszach debugowania:
Debugowanie aplikacji natywnych skompilowany z/Zo (Enhance Optimized Debugging)
Debugowanie aplikacji ze Sklepu Windows lub składników.
Debugowanie w systemie Windows 98.
Debugowanie mieszanym (macierzystego/zarządzane).
Debugowanie kodu JavaScript.
Debugowanie SQL.
Debugowanie pliku zrzutu.
Edytowanie kodu po nieobsługiwany wyjątek, po rozwijają się na nieobsługiwanych wyjątków stos wywołań nie zaznaczono opcji.
Debugowanie aplikacji za pomocą dołączyć do zamiast uruchamiania aplikacji wybierając Start na debugowanie menu.
Debugowanie kodu zoptymalizowane.
Debugowanie kodu starszej wersji po nowej wersji nie można tworzyć z powodu błędów kompilacji.
W tym artykule
Ograniczenia połączeń
Łączenie opcji, które Wyłącz Edytuj i Kontynuuj | Automatyczne ponowne łączenie ograniczenia
Łączenie opcji, które Wyłącz Edytuj i Kontynuuj
Następujące opcje łączenie wyłączyć Edytuj i Kontynuuj:
Ustawienie /OPT:REF, /OPT:ICF, lub /INCREMENTAL:NO wyłącza Edytuj i kontynuuj następujące ostrzeżenie:
ŁĄCZE: ostrzeżenie LNK4075: Ignorowanie /EDITANDCONTINUE z powodu tych
specyfikacja
Ustawienie /ORDER, /RELEASE, lub /FORCE wyłącza Edytuj i Kontynuuj to ostrzeżenie:
ŁĄCZE: ostrzeżenie LNK4075: Ignorowanie /INCREMENTAL z powodu/Option
specyfikacja
Ustawienie żadnych opcji, która uniemożliwia tworzenie pliku bazy danych (.pdb) program wyłącza Edytuj i Kontynuuj bez określonych ostrzeżenia.
Automatyczne ponowne łączenie ograniczenia
Edytuj i Kontynuuj domyślnie relinks programu na końcu sesji debugowania, aby utworzyć plik wykonywalny aktualne.
Edytuj i Kontynuuj nie można ponownie połączyć program Jeśli debugowania go z lokalizacji innej niż oryginalne kompilacji.Komunikat informuje, należy ponownie utworzyć ręcznie.
Edytuj i Kontynuuj nie odbudować bibliotek statycznych.Po wprowadzeniu zmian w bibliotece statyczne przy użyciu Edytuj i Kontynuuj, należy ręcznie odbudować aplikacje biblioteki i Łącz ponownie, używając go.
Edytuj i kontynuuj nie wywołuje niestandardowych kroków kompilacji.Jeśli program używa niestandardowych kroków kompilacji, można ponownie skompilować ręcznie, aby można było wywołać niestandardowe kroki kompilacji.W takim przypadku, można wyłączyć ponowne połączenie po wykonaniu Edytuj i kontynuuj, aby zapewnić, że zostaniesz poproszony o ponowną kompilację ręczną.
Aby wyłączyć ponowne łączenie po Edytuj i Kontynuuj
Na debugowanie menu, wybierz polecenie opcji i ustawień.
W opcje okna dialogowego debugowanie , a następnie wybierz węzeł Edytuj i Kontynuuj węzła.
Usuń zaznaczenie ponownie połączyć zmiany kodu po pole wyboru.
W tym artykule
Ograniczenia wstępnie skompilowanym nagłówka
Domyślnie edytować i kontynuować nagłówki wstępnie skompilowanym obciążenia i procesów w tle w celu przyspieszenia przetwarzania zmian w kodzie.Ładowanie wstępnie skompilowanym nagłówki wymaga alokacji pamięci fizycznej, który może być problem, jeśli kompilacja na komputerze z ograniczoną ilością pamięci RAM.Można określić, czy może to być problem przy użyciu Menedżera zadań systemu Windows do określenia ilość dostępnej pamięci fizycznej podczas debugowania.Jeśli ta liczba jest większa niż rozmiar prekompilowanych nagłówków, nie powinny wystąpić problemy w trybie Edytuj i kontynuuj.Jeśli wartość jest mniejsza niż rozmiar nagłówkach wstępnie skompilowanym, można zablokować Edytuj i Kontynuuj ładowania wstępnie skompilowanym nagłówki w tle.
Aby wyłączyć ładowanie tła wstępnie skompilowany nagłówki dla Edytuj i Kontynuuj
Na debugowanie menu, wybierz polecenie opcji i ustawień.
W opcje okna dialogowego debugowanie , a następnie wybierz węzeł Edytuj i Kontynuuj węzła.
Usuń zaznaczenie umożliwia Precompiling pole wyboru.
W tym artykule
Ograniczenia atrybut IDL
Edytuj i Kontynuuj nie jest generowany ponownie plików definicji (IDL) interfejsu.Dlatego zmiany atrybutów IDL nie zostanie ona uwzględniona, podczas debugowania.Aby wyświetlić wyniki zmian do IDL atrybuty, należy Zatrzymaj debugowanie i odbudować aplikacji.Edytuj i Kontynuuj nie generuje błąd lub Ostrzeżenie Jeśli atrybuty IDL został zmieniony.Aby uzyskać więcej informacji, zobacz atrybuty IDL.
W tym artykule