KdpWriteCustomBreakpoint
VOID __stdcall KdpWriteCustomBreakpoint(_DBGKD_MANIPULATE_STATE64 *m, _STRING *AdditionalData, _CONTEXT *Context){
unsigned __int8 BreakPointInstructionAlignment;
unsigned __int8 BreakPointInstructionSize;
unsigned __int64 Dr7;
VOID *TargetBaseAddress;
unsigned int v8;
__int64 v9[3];
BreakPointInstructionAlignment = m->u.WriteCustomBreakPoint.BreakPointInstructionAlignment;
BreakPointInstructionSize = m->u.WriteCustomBreakPoint.BreakPointInstructionSize;
Dr7 = m->u.Continue2.ControlSet.Dr7;
v9[0] = 0i64;
v9[1] = (__int64)m;
TargetBaseAddress = (VOID *)m->u.ReadMemory.TargetBaseAddress;
LOWORD(v9[0]) = 56;
v8 = KdpAddBreakpoint(TargetBaseAddress, Dr7, BreakPointInstructionSize, BreakPointInstructionAlignment);
m->u.Continue2.AnyControlSet.X86ControlSet.CurrentSymbolEnd = v8;
m->ReturnStatus = v8 == 0 ? 0xC0000001 : 0;
KdSendPacket(2i64, v9, 0i64, &KdpContext);
}Referenced by:
KdpSendWaitContinue