All pastes #759272 Raw Edit

Someone

public text v1 · immutable
·published 2007-11-03 00:02 UTC
rendered paste body
// Sets the values for one condition block, appending the condition
// to the debug handle paramter.

// Conditions are checked in sequence, one after the other
// in a stepped debugging loop (slow but required).

// the Lt and Gt variables shown after each register parameter
// are for less than/greater than comparisons.  If they
// are set to true, the match will be returned as successful
// if the register matches a gt/lt unsigned integer comparison.
// A condition must have either only Lt or Gt or none set.

// The cmp parameters are used to compare memory of running processes
// to a specified buffer.  cmpLen is the length to compare.

P_DEBUG_CONDITION_LIST AddConditionElement( P_DEBUG_HANDLE dbgHandle, \
	int signalSet, int signalCmp, \
	int eaxSet, int eax, int eaxGt, int eaxLt, \
	int ebxSet, int ebx, int ebxGt, int ebxLt, \
	int ecxSet, int ecx, int ecxGt,	int ecxLt, \
	int edxSet, int edx, int edxGt, int edxLt, \
	int espSet, int esp, int espGt, int espLt, \
	int ebpSet, int ebp, int ebpGt,	int ebpLt, \
	int eipSet, int eip, int eipGt,	int eipLt, \
	int esiSet, int esi, int esiGt,	int esiLt, \
	int cmpSet, void *cmpAddr, unsigned char *cmpBuff, int cmpLen){