Sdílet prostřednictvím


Monitorování událostí

Přehled událostí v modulu ladicího programu najdete v tématu Události.

Události, ke kterým dochází v cílovém systému nebo ladicímu programu, mohou být monitorovány pomocí rozhraní IDebugEventCallbacks. Objekt IDebugEventCallbacks může být registrován s klientem pomocí SetEventCallbacks. Každý klient může mít pouze jeden objekt IDebugEventCallbacks zaregistrovaný.

Pokud je objekt IDebugEventCallbacks registrován v klientovi, modul zavolá objekt IDebugEventCallbacks::GetInterestMask k určení událostí, které objekt zajímá. Do objektu se odesílají pouze události, o které se objekt zajímá.

Pro každý typ události modul volá odpovídající metodu zpětného volání v IDebugEventCallbacks. Pro události z cíle určuje hodnota DEBUG_STATUS_XXX vrácená z těchto volání, jak má pokračovat provádění cíle. Modul shromažďuje tyto návratové hodnoty z každého IDebugEventCallbacks objektu, který volá a působí na ten s nejvyšší prioritou.

Události z cíle, které se ve výchozím nastavení rozdělí do ladicího programu

Následující události ve výchozím nastavení vstoupí do ladicího programu:

  • Události bodů přerušení

  • Události výjimek (zde nejsou zdokumentované)

  • Systémová chyba

Události z cíle, které neaktivují ladicí program ve výchozím nastavení

Ve výchozím nastavení se do ladicího programu nezačlení následující události:

  • Vytvoření události procesu

  • Událost ukončení procesu

  • Vytvoření události vlákna

  • Událost ukončení vlákna

  • Událost načtení modulu

  • Událost uvolnění modulu

Změny interního systému

Následující skutečnosti nejsou skutečné události, ale pouze změny vnitřního enginu:

  • Cílová změna

  • Změna motoru

  • Změna symbolu motoru

  • Změna stavu relace