ODBG_Pausedex

OllyDbg Plugin API

ODBG_Pausedex

Optional callback function. If present, OllyDbg will call it each time the debugged application is paused and after all internal processing is finished. Plugin may, for example, make some modifications and immediately continue execution by caling Go. In this case it may return 1, disabling time-consuming redrawing of windows. In any other case it must return 0.

Note that if plugin exports both ODBG_Pausedex and ODBG_Paused, the second function will not be called.

int ODBG_Pausedex(int reason, int extdata, t_reg *reg, DEBUG_EVENT *debugevent);

Parameters:

reason - reason why application was paused, use PP_MAIN to extract:

PP_EVENT Paused on debugging event
PP_PAUSE Paused on user's request
PP_TERMINATED Application terminated

The reason may be ORed with one or several of the following clarifiers:

PP_BYPROGRAM Debugging event caused by program
PP_INT3BREAK INT3 breakpoint
PP_MEMBREAK Memory breakpoint
PP_HWBREAK Hardware breakpoint
PP_SINGLESTEP Single-step trap
PP_EXCEPTION Exception, like division by 0
PP_ACCESS Access violation, like writing to NULL pointer
PP_GUARDED Guarded page

extdata - reserved, currently always 0;

reg - pointer to registers of thread that caused application to pause, may be NULL;

debugevent - pointer to debug event that caused pause, or NULL if there was no event.

See also: ODBG_Paused