t_bpmem

Descriptor of the memory breakpoint. Plugin are not allowed to modify this structure directly. Instead, they must call corresponding API functions.

typedef struct t_bpmem {               // Memory breakpoints
  ulong          addr;                 // Address of breakpoint
  ulong          size;                 // Size of the breakpoint, bytes
  ulong          type;                 // Type of breakpoint, TY_xxx+BP_xxx
  ulong          limit;                // Original pass count (0 if not set)
  ulong          count;                // Actual pass count
} t_bpmem;


Members:

addr
Address of the first byte of the memory covered by the breakpoint
size
Size of the breakpoint, bytes
type
Type of the breakpoint, combination of the flags BP_xxx listed below (and possibly TY_xxx).
Basic type of the breakpoint. Only one type is supported by memory breakpoints:
BP_MANUAL - permanent breakpoint set by user
Access condition:
BP_READ - break on read memory access
BP_WRITE - break on write memory access
BP_EXEC - break on code execution
Features, a combination of zero or more of the following flags:
BP_DISABLED - breakpoint is disabled
BP_COND - conditional breakpoint. Its action depends on the associated condition (name of type NM_MEMCOND)
BP_PERIODICAL - periodical breakpoint (pauses each limit-th break)
When to pause execution when breakpoint is hit, one of the following flags:
BP_NOBREAK - no pause
BP_CONDBREAK - pause when condition is true
BP_BREAK - pause always
When to protocol the value of expression (name of type NM_MEMEXPR), one of the following flags:
BP_NOLOG - don't protocol
BP_CONDLOG - protocol if condition is true
BP_LOG - protocol always
limit
Original pass count, or 0 if pass count is not set
count
Current pass count


See also:
Breakpoints