Udostępnij przez


Metody dotyczące punktu przerwania

Silnik debugowania (DE) musi obsługiwać ustawianie punktów przerwania. Debugowanie programu Visual Studio obsługuje następujące typy punktów przerwania:

  • Granica

    Żądane za pośrednictwem interfejsu użytkownika i pomyślnie powiązane z określonym miejscem w kodzie

  • W oczekiwaniu

    Żądane za pośrednictwem interfejsu użytkownika, ale nie są jeszcze powiązane z rzeczywistymi instrukcjami

Dyskusja

Na przykład oczekujący punkt przerwania występuje, gdy instrukcje nie zostały jeszcze załadowane. Po załadowaniu kodu oczekujące punkty przerwania próbują powiązać kod w określonej lokalizacji, czyli wstawić instrukcje przerwania w kodzie. Zdarzenia są wysyłane do menedżera debugowania sesji (SDM), aby wskazać pomyślne powiązanie lub powiadomić, że wystąpiły błędy powiązania.

Oczekujący punkt przerwania zarządza również własną wewnętrzną listą odpowiednich powiązanych punktów przerwania. Jeden oczekujący punkt przerwania może spowodować wstawienie wielu punktów przerwania w kodzie. Interfejs użytkownika debugowania programu Visual Studio przedstawia widok drzewa oczekujących punktów przerwania i odpowiadających im powiązanych punktów przerwania.

Tworzenie i używanie oczekujących punktów przerwania wymaga implementacji metody IDebugEngine2::CreatePendingBreakpoint , a także następujących metod interfejsów IDebugPendingBreakpoint2 .

Metoda Description
CanBind Określa, czy określony punkt przerwania w oczekiwaniu może wiązać do lokalizacji kodu.
Powiązać Wiąże określony oczekujący punkt przerwania z jedną lub więcej lokalizacjami kodu.
GetState Pobiera stan oczekującego punktu przerwania.
GetBreakpointRequest Pobiera żądanie punktu przerwania używane do utworzenia oczekującego punktu przerwania.
Włączone Przełącza włączony stan oczekującego punktu przerwania.
EnumBoundBreakpoints Wylicza wszystkie punkty przerwania powiązane z oczekującym punktem przerwania.
EnumErrorBreakpoints Wylicza wszystkie punkty przerwania błędów, które wynikają z oczekującego punktu przerwania.
Delete Usuwa oczekujący punkt przerwania i wszystkie powiązane z nim punkty przerwania.

Aby wyliczyć powiązane punkty przerwania i punkty przerwania błędów, należy zaimplementować wszystkie metody IEnumDebugBoundBreakpoints2 i IEnumDebugErrorBreakpoints2.

Oczekujące punkty przerwania powiązane z lokalizacją kodu wymagają implementacji następujących metod IDebugBoundBreakpoint2 .

Metoda Description
GetPendingBreakpoint Pobiera oczekujący punkt przerwania, który zawiera inny punkt przerwania.
GetState Pobiera stan powiązanego punktu przerwania.
GetBreakpointResolution Pobiera rozwiązanie punktu przerwania, które opisuje punkt przerwania.
Włączone Włącza lub wyłącza punkt przerwania.
Delete Usuwa powiązany punkt przerwania.

Rozwiązanie i żądanie informacji wymagają implementacji następujących metod IDebugBreakpointResolution2 .

Metoda Description
GetBreakpointType Pobiera typ punktu przerwania reprezentowany przez rezolucję.
GetResolutionInfo Pobiera informacje o rezolucji punktu przerwania, które opisują punkt przerwania.

Rozwiązanie błędów, które mogą wystąpić podczas wiązania, wymaga implementacji następujących metod IDebugErrorBreakpoint2 .

Metoda Description
GetPendingBreakpoint Pobiera punkt przerwania w oczekiwaniu zawierający punkt przerwania z błędem.
GetBreakpointResolution Pobiera rozwiązanie błędu związanego z punktem przerwania, które opisuje ten błąd.

Rozwiązanie błędów, które mogą wystąpić podczas wiązania, wymaga również następujących metod IDebugErrorBreakpointResolution2.

Metoda Description
GetBreakpointType Pobiera typ punktu przerwania.
GetResolutionInfo Pobiera informacje o parametrach punktu przerwania.

Wyświetlenie kodu źródłowego w punkcie przerwania wymaga zaimplementowania metod IDebugStackFrame2::GetDocumentContext i/lub metod IDebugStackFrame2::GetCodeContext.

Zobacz także