Udostępnij przez


Ustawianie punktów przerwania

Punkty przerwania są tworzone za pomocą metody AddBreakpoint . Ta metoda tworzy obiekt IDebugBreakpoint reprezentujący punkt przerwania. Ustawia również typ punktu przerwania (punkt przerwania oprogramowania lub punkt przerwania procesora). Po utworzeniu punktu przerwania nie można zmienić jego typu.

Punkty przerwania są usuwane za pomocą metody RemoveBreakpoint . Spowoduje to również usunięcie obiektu IDebugBreakpoint ; tego obiektu nie można użyć ponownie.

Nuta Mimo że IDebugBreakpoint implementuje interfejs IUnknown , metody IUnknown::AddRef i IUnknown::Release nie są używane do kontrolowania okresu istnienia punktu przerwania. Te metody nie mają wpływu na okres istnienia punktu przerwania. Zamiast tego obiekt IDebugBreakpoint jest usuwany po wywołaniu metody RemoveBreakpoint .

Po utworzeniu punktu przerwania otrzymuje on unikatowy identyfikator punktu przerwania. Ten identyfikator nie ulegnie zmianie. Jednak po usunięciu punktu przerwania jego identyfikator może być używany dla innego punktu przerwania. Aby uzyskać szczegółowe informacje na temat odbierania powiadomień o usunięciu punktu przerwania, zobacz Monitorowanie zdarzeń.

Po utworzeniu punktu przerwania jest on początkowo wyłączony; Oznacza to, że nie spowoduje to zatrzymania wykonywania obiektu docelowego. Ten punkt przerwania może być włączony przy użyciu metody AddFlags w celu dodania flagi DEBUG_BREAKPOINT_ENABLED.

Po pierwszym utworzeniu punktu przerwania ma on lokalizację pamięci 0x00000000 skojarzona z nim. Lokalizację można zmienić przy użyciu polecenia SetOffset z adresem lub przy użyciu polecenia SetOffsetExpression z wyrażeniem symbolicznym. Lokalizacja punktu przerwania powinna zostać zmieniona z wartości początkowej, zanim zostanie użyta.