Udostępnij przez


Nierozwiązane punkty przerwania (bu punkty przerwania)

Jeśli punkt przerwania jest ustawiony dla nazwy procedury, która nie została załadowana, punkt przerwania jest nazywany odroczonym, wirtualnym lub nierozwiązanym punktem przerwania. (Te terminy są używane zamiennie). Nierozwiązane punkty przerwania nie są skojarzone z żadnym konkretnym obciążeniem modułu. Za każdym razem, gdy jest ładowana nowa aplikacja, jest sprawdzana pod kątem tej rutynowej nazwy. Jeśli ta rutyna zostanie wyświetlona, debuger oblicza rzeczywisty kodowany adres wirtualnego punktu przerwania i włącza punkt przerwania.

Jeśli ustawisz punkt przerwania przy użyciu polecenia bu , punkt przerwania zostanie automatycznie uznany za nierozwiązany. Jeśli ten punkt przerwania znajduje się w załadowanym module, punkt przerwania jest nadal włączony i działa normalnie. Jeśli jednak moduł zostanie później zwolniony i ponownie załadowany, ten punkt przerwania nie zniknie. Z drugiej strony punkt przerwania ustawiony za pomocą bp jest natychmiast rozpoznawany jako adres.

Istnieją trzy podstawowe różnice między punktami przerwania bp i punktami przerwania bu :

  • Lokalizacja punktu przerwania bp jest zawsze konwertowana na adres. Jeśli moduł zmieni kod, w którym został ustawiony punkt przerwania bp , punkt przerwania pozostaje pod tym samym adresem. Z drugiej strony punkt przerwania bu pozostaje skojarzony z wartością symboliczną (zazwyczaj symbolem plus przesunięciem), która została użyta, i śledzi lokalizację symboliczną, nawet jeśli jej adres się zmieni.

  • Jeśli adres punktu przerwania bp zostanie znaleziony w załadowanym module i jeśli ten moduł zostanie później zwolniony, punkt przerwania zostanie usunięty z listy punktów przerwania. Z drugiej strony punkty przerwania bu utrzymują się po wielokrotnych zwolnieniach i obciążeniach.

  • Punkty przerwania ustawione za pomocą narzędzia bp nie są zapisywane w obszarach roboczych WinDbg. Punkty przerwania ustawione za pomocą bu są zapisywane w obszarach roboczych.

Kontrolowanie punktów przerwania adresu i nierozwiązanych punktów przerwania

Punkty przerwania adresu można utworzyć za pomocą polecenia bp (Ustaw punkt przerwania) lub bm (Ustaw punkt przerwania symbolu), gdy używany jest przełącznik /d. Nierozwiązane punkty przerwania można utworzyć za pomocą polecenia bu (Ustaw nierozwiązany punkt przerwania) lub polecenia bm , gdy przełącznik /d nie jest dołączony. Polecenia, które wyłączają, włączają i modyfikują punkty przerwania, mają zastosowanie do wszystkich rodzajów punktów przerwania. Polecenia, które wyświetlają listę punktów przerwania, obejmują wszystkie punkty przerwania i wskazują typ każdego z nich. Aby uzyskać listę tych poleceń, zobacz Metody kontrolowania punktów przerwania.

W oknie dialogowym Punkty przerwania WinDbg są wyświetlane wszystkie punkty przerwania wskazujące nierozwiązane punkty przerwania z notacją "u". To okno dialogowe może służyć do modyfikowania dowolnego punktu przerwania. Pole tekstowe Polecenie w tym oknie dialogowym może służyć do tworzenia dowolnego typu punktu przerwania; Jeśli typ zostanie pominięty, zostanie utworzony nierozwiązany punkt przerwania. Aby uzyskać szczegółowe informacje, zobacz Edytowanie | Punkty przerwania. Po ustawieniu punktu przerwania przy użyciu myszy w oknie dezasemblacji WinDbg lub oknie źródła debuger tworzy nierozwiązany punkt przerwania.