public void VirtualMachineDeath(Types.SuspendPolicy suspendPolicy, RequestId requestId) { EventRequest request = VirtualMachine.EventRequestManager.GetEventRequest(EventKind.ClassPrepare, requestId); VirtualMachineEventArgs e = new VirtualMachineEventArgs(VirtualMachine, (SuspendPolicy)suspendPolicy, request); VirtualMachine.EventQueue.OnVirtualMachineDeath(e); }
private void HandleVirtualMachineDeath(object sender, VirtualMachineEventArgs e) { if (e.SuspendPolicy == SuspendPolicy.All) { Interlocked.Increment(ref _suspended); } DebugEvent debugEvent = new DebugProgramDestroyEvent(GetAttributesForEvent(e), 0); SetEventProperties(debugEvent, e, false); Callback.Event(DebugEngine, Process, this, null, debugEvent); }
private static enum_EVENTATTRIBUTES GetAttributesForEvent(VirtualMachineEventArgs e) { enum_EVENTATTRIBUTES attributes = 0; if (e.SuspendPolicy != SuspendPolicy.None) { attributes |= enum_EVENTATTRIBUTES.EVENT_SYNCHRONOUS; } else { attributes |= enum_EVENTATTRIBUTES.EVENT_ASYNCHRONOUS; } if (e.SuspendPolicy == SuspendPolicy.All) { attributes |= enum_EVENTATTRIBUTES.EVENT_STOPPING; } return(attributes); }
private void HandleVirtualMachineDeath(object sender, VirtualMachineEventArgs e) { if (e.SuspendPolicy == SuspendPolicy.All) Interlocked.Increment(ref _suspended); DebugEvent debugEvent = new DebugProgramDestroyEvent(GetAttributesForEvent(e), 0); SetEventProperties(debugEvent, e, false); Callback.Event(DebugEngine, Process, this, null, debugEvent); }
private static void SetEventProperties(DebugEvent debugEvent, VirtualMachineEventArgs e, bool manualResume) { SetEventProperties(debugEvent, e.Request, e.SuspendPolicy, e.VirtualMachine, default(IThreadReference), manualResume); }
private static enum_EVENTATTRIBUTES GetAttributesForEvent(VirtualMachineEventArgs e) { enum_EVENTATTRIBUTES attributes = 0; if (e.SuspendPolicy != SuspendPolicy.None) attributes |= enum_EVENTATTRIBUTES.EVENT_SYNCHRONOUS; else attributes |= enum_EVENTATTRIBUTES.EVENT_ASYNCHRONOUS; if (e.SuspendPolicy == SuspendPolicy.All) attributes |= enum_EVENTATTRIBUTES.EVENT_STOPPING; return attributes; }
internal void OnVirtualMachineDeath(VirtualMachineEventArgs e) { var t = VirtualMachineDeath; if (t != null) t(this, e); }