Tryby operacyjne
Istnieją trzy tryby, w których środowisko IDE może działać w następujący sposób:
-
Sposób przejścia niestandardowego aparatu debugowania między tymi trybami to decyzja implementacji, która wymaga znajomości mechanizmów przejścia. De może lub nie może bezpośrednio implementować tych trybów. Te tryby to naprawdę tryby debugowania pakietów, które przełączają się na podstawie akcji użytkownika lub zdarzeń z de. Na przykład przejście z trybu uruchamiania na tryb przerwania jest podżegane przez zatrzymanie zdarzenia z de. Przejście z przerwy do trybu uruchamiania lub trybu kroku jest podżegane przez użytkownika wykonującego operacje, takie jak Krok lub Wykonaj. Aby uzyskać więcej informacji o przejściach DE, zobacz Kontrola wykonywania.
Tryb projektowania
Tryb projektowania to stan nierunning debugowania programu Visual Studio, w którym czasie można ustawić funkcje debugowania w aplikacji.
Tylko kilka funkcji debugowania jest używanych w trybie projektowania. Deweloper może wybrać ustawienie punktów przerwania lub utworzyć wyrażenia zegarka. De nigdy nie jest ładowany lub wywoływany, gdy środowisko IDE jest w trybie projektowania. Interakcja z de odbywa się tylko podczas trybów uruchamiania i przerwania.
Tryb uruchamiania
Tryb uruchamiania występuje, gdy program jest uruchamiany w sesji debugowania w środowisku IDE. Aplikacja jest uruchamiana do zakończenia, do momentu osiągnięcia punktu przerwania lub do momentu zgłoszenia wyjątku. Gdy aplikacja zostanie uruchomiona do zakończenia, de przechodzi do trybu projektowania. Gdy punkt przerwania zostanie trafiony lub zostanie zgłoszony wyjątek, de przechodzi do trybu przerwania.
Tryb przerwania
Tryb przerwania występuje, gdy wykonywanie programu debugowania jest zawieszone. Tryb przerwania oferuje deweloperowi migawkę aplikacji w momencie przerwania i umożliwia deweloperowi analizowanie stanu aplikacji i zmienianie sposobu działania aplikacji. Deweloper może wyświetlać i edytować kod, badać lub modyfikować dane, ponownie uruchomić aplikację, zakończyć wykonywanie lub kontynuować wykonywanie z tego samego punktu.
Tryb przerwania jest wprowadzany, gdy de wysyła synchroniczne zdarzenie zatrzymania. Synchroniczne zdarzenia zatrzymywania, nazywane również zdarzeniami zatrzymywania, powiadamianie menedżera debugowania sesji (SDM) i środowiska IDE, że debugowana aplikacja przestała wykonywać kod. Interfejsy IDebugBreakpointEvent2 i IDebugExceptionEvent2 to przykłady zatrzymywania zdarzeń.
Zatrzymanie zdarzeń jest kontynuowane przez wywołanie jednej z następujących metod, które przechodzą debuger z trybu przerwania do uruchamiania lub trybu kroku:
Tryb kroku
Tryb kroku występuje, gdy program przechodzi do następnego wiersza kodu lub do funkcji lub do lub z funkcji. Krok jest wykonywany przez wywołanie metody Step. Ta metoda wymaga DWORD
parametrów, które określają wyliczenia STEPUNIT i STEPKIND jako parametry wejściowe.
Gdy program pomyślnie wykona kroki do następnego wiersza kodu lub do funkcji albo zostanie uruchomiony do kursora lub ustawionego punktu przerwania, de automatycznie przechodzi z powrotem do trybu przerwania.