Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas debugowania można ręcznie przenieść wskaźnik wykonywania, aby zmienić następną instrukcję, która zostanie uruchomiona dalej. Przeniesienie wskaźnika jest przydatne w sytuacjach, takich jak pomijanie kodu zawierającego znaną usterkę i jest bardziej zaawansowaną funkcją debugera.
Zmień przepływ wykonywania
Po wstrzymaniu debugera żółta strzałka na marginesie kodu źródłowego lub okna Dezasemblacja oznacza lokalizację instrukcji, która zostanie uruchomiona dalej. Możesz zmienić kolejną instrukcję, która zostanie uruchomiona, przenosząc tę strzałkę. Możesz pominąć kod lub wrócić do poprzedniego wiersza.
Jeśli chcesz zmienić następną instrukcję, która zostanie uruchomiona, debuger musi być w trybie przerwania. W oknie kodu źródłowego lub dezasemblacji przeciągnij żółtą strzałkę do innego wiersza lub kliknij prawym przyciskiem myszy wiersz, który chcesz uruchomić, a następnie wybierz pozycję Ustaw następną instrukcję.
Licznik programu przeskakuje bezpośrednio do nowej lokalizacji. Instrukcje między starymi i nowymi punktami wykonywania nie są wykonywane. Jeśli jednak przeniesiesz punkt wykonywania do tyłu, instrukcje pośrednie nie są cofane.
Ostrzeżenie
- Przeniesienie następnej instrukcji do innej funkcji lub zakresu zwykle powoduje uszkodzenie stosu wywołań, co powoduje błąd lub wyjątek w czasie wykonywania. Jeśli spróbujesz przenieść następną instrukcję do innego zakresu, debuger wyświetla ostrzeżenie i szansę anulowania operacji.
- W języku Visual Basic nie można przenieść następnej instrukcji do innego zakresu lub funkcji.
- W natywnym języku C++, jeśli włączono sprawdzanie środowiska uruchomieniowego, ustawienie następnej instrukcji może spowodować wyjątek, gdy wykonanie osiągnie koniec metody.
- Gdy Edytuj i Kontynuuj jest włączone, użycie Ustaw Następną Instrukcję kończy się niepowodzeniem, jeśli wprowadzono zmiany, których Edytuj i Kontynuuj nie może natychmiast przypisać na nowo. Taka sytuacja może wystąpić, na przykład jeśli kod został edytowany w bloku catch. W takim przypadku komunikat o błędzie informuje o tym, że operacja nie jest obsługiwana.
- W kodzie zarządzanym nie można przenieść następnej instrukcji, jeśli:
- Kolejna instrukcja znajduje się w innej metodzie niż obecna instrukcja.
- Debugowanie zostało uruchomione przez debugowanie Just-In-Time.
- Odwijenie stosu wywołań jest w toku.
- Zgłoszono wyjątek System.StackOverflowException lub System.Threading.ThreadAbortException.