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