Udostępnij przez


Punkty przerwania

Aparat debugera może tworzyć i monitorować punkty przerwania w obiekcie docelowym.

Istnieją dwa typy punktów przerwania, które silnik może wstawić do celu: punkty przerwania oprogramowania i punkty przerwania procesora.

  • Punkty przerwania oprogramowania są wstawiane do kodu obiektu docelowego, modyfikując instrukcję procesora w lokalizacji punktu przerwania. Silnik debuggera śledzi takie punkty przerwania; są one niewidoczne dla klientów, którzy odczytują i zapisują pamięć w tej lokalizacji. Punkt przerwania oprogramowania jest wyzwalany, gdy element docelowy wykonuje zmodyfikowaną instrukcję.

  • Punkty przerwania procesora są wstawiane do procesora docelowego przez mechanizm debugowania. Punkt przerwania procesora może być wyzwalany przez różne akcje, na przykład wykonywanie instrukcji w lokalizacji (na przykład punktów przerwania oprogramowania) lub odczytywanie lub zapisywanie pamięci w lokalizacji punktu przerwania. Obsługa punktów przerwania procesora zależy od procesora na komputerze docelowym.

Adres punktu przerwania może być określony przez jawny adres, przez wyrażenie, które jest przetwarzane na adres, lub przez wyrażenie, które może zostać przetworzone na adres w przyszłości. W ostatnim przypadku za każdym razem, gdy moduł zostanie załadowany lub zwolniony w obiekcie docelowym, aparat spróbuje ponownie ocenić wyrażenie i wstawić punkt przerwania, jeśli może określić adres; dzięki temu można ustawić punkty przerwania w modułach przed ich załadowaniem.

Wiele parametrów można skojarzyć z punktem przerwania, aby kontrolować jego zachowanie:

  • Punkt przerwania może być skojarzony z określonym wątkiem w obiekcie docelowym i zostanie wyzwolony tylko przez ten wątek.

  • Punkt przerwania może mieć skojarzone z nim polecenia debugera; te polecenia zostaną automatycznie wykonane po wyzwoleniu punktu przerwania.

  • Punkt przerwania można oznaczyć jako nieaktywny, dopóki cel nie przejdzie przez niego określoną liczbę razy.

  • Punkt przerwania można automatycznie usunąć w momencie jego pierwszego wyzwolenia.

Dodatkowe informacje

Aby uzyskać szczegółowe informacje na temat używania punktów przerwania, zobacz Używanie punktów przerwania.