public JavaDebugLocationPendingBreakpoint(JavaDebugEngine engine, BreakpointRequestInfo requestInfo) { Contract.Requires <ArgumentNullException>(engine != null, "engine"); Contract.Requires <ArgumentNullException>(requestInfo != null, "requestInfo"); Contract.Requires <ArgumentException>(requestInfo.Location != null); Contract.Requires <ArgumentException>(requestInfo.Location.LocationType == enum_BP_LOCATION_TYPE.BPLT_CODE_FILE_LINE); _engine = engine; _requestInfo = requestInfo; _condition = requestInfo.Condition; _passCount = requestInfo.PassCount; }
public JavaDebugLocationPendingBreakpoint(JavaDebugEngine engine, BreakpointRequestInfo requestInfo) { Contract.Requires<ArgumentNullException>(engine != null, "engine"); Contract.Requires<ArgumentNullException>(requestInfo != null, "requestInfo"); Contract.Requires<ArgumentException>(requestInfo.Location != null); Contract.Requires<ArgumentException>(requestInfo.Location.LocationType == enum_BP_LOCATION_TYPE.BPLT_CODE_FILE_LINE); _engine = engine; _requestInfo = requestInfo; _condition = requestInfo.Condition; _passCount = requestInfo.PassCount; }
internal void InitializeDebuggerChannel(JavaDebugEngine debugEngine, IDebugEventCallback2 callback) { Contract.Requires <ArgumentNullException>(debugEngine != null, "debugEngine"); Contract.Requires <ArgumentNullException>(callback != null, "callback"); _debugEngine = debugEngine; _callback = callback; var connector = new LocalDebuggingAttachingConnector(); Dictionary <string, IConnectorArgument> arguments = new Dictionary <string, IConnectorArgument>(); string argumentName = "pid"; IConnectorIntegerArgument defaultArgument = (IConnectorIntegerArgument)connector.DefaultArguments[argumentName]; IConnectorIntegerArgument argument = new ConnectorIntegerArgument(defaultArgument, (int)_process.GetPhysicalProcessId().dwProcessId); arguments.Add(argumentName, argument); argumentName = "sourcePaths"; IConnectorStringArgument defaultPathsArgument = (IConnectorStringArgument)connector.DefaultArguments[argumentName]; List <string> sourcePaths = GetSourcePaths(); IConnectorStringArgument stringArgument = new ConnectorStringArgument(defaultPathsArgument, string.Join(";", sourcePaths)); arguments.Add(argumentName, stringArgument); connector.AttachComplete += HandleAttachComplete; _virtualMachine = connector.Attach(arguments); IVirtualMachineEvents events = _virtualMachine.GetEventQueue() as IVirtualMachineEvents; if (events != null) { events.VirtualMachineStart += HandleVirtualMachineStart; events.VirtualMachineDeath += HandleVirtualMachineDeath; events.SingleStep += HandleSingleStep; events.Breakpoint += HandleBreakpoint; events.MethodEntry += HandleMethodEntry; events.MethodExit += HandleMethodExit; events.MonitorContendedEnter += HandleMonitorContendedEnter; events.MonitorContendedEntered += HandleMonitorContendedEntered; events.MonitorContendedWait += HandleMonitorContendedWait; events.MonitorContendedWaited += HandleMonitorContendedWaited; events.Exception += HandleException; events.ThreadStart += HandleThreadStart; events.ThreadDeath += HandleThreadDeath; events.ClassPrepare += HandleClassPrepare; events.ClassUnload += HandleClassUnload; events.FieldAccess += HandleFieldAccess; events.FieldModification += HandleFieldModification; } }
internal void InitializeDebuggerChannel(JavaDebugEngine debugEngine, IDebugEventCallback2 callback) { Contract.Requires<ArgumentNullException>(debugEngine != null, "debugEngine"); Contract.Requires<ArgumentNullException>(callback != null, "callback"); _debugEngine = debugEngine; _callback = callback; var connector = new LocalDebuggingAttachingConnector(); Dictionary<string, IConnectorArgument> arguments = new Dictionary<string, IConnectorArgument>(); string argumentName = "pid"; IConnectorIntegerArgument defaultArgument = (IConnectorIntegerArgument)connector.DefaultArguments[argumentName]; IConnectorIntegerArgument argument = new ConnectorIntegerArgument(defaultArgument, (int)_process.GetPhysicalProcessId().dwProcessId); arguments.Add(argumentName, argument); argumentName = "sourcePaths"; IConnectorStringArgument defaultPathsArgument = (IConnectorStringArgument)connector.DefaultArguments[argumentName]; List<string> sourcePaths = GetSourcePaths(); IConnectorStringArgument stringArgument = new ConnectorStringArgument(defaultPathsArgument, string.Join(";", sourcePaths)); arguments.Add(argumentName, stringArgument); connector.AttachComplete += HandleAttachComplete; _virtualMachine = connector.Attach(arguments); IVirtualMachineEvents events = _virtualMachine.GetEventQueue() as IVirtualMachineEvents; if (events != null) { events.VirtualMachineStart += HandleVirtualMachineStart; events.VirtualMachineDeath += HandleVirtualMachineDeath; events.SingleStep += HandleSingleStep; events.Breakpoint += HandleBreakpoint; events.MethodEntry += HandleMethodEntry; events.MethodExit += HandleMethodExit; events.MonitorContendedEnter += HandleMonitorContendedEnter; events.MonitorContendedEntered += HandleMonitorContendedEntered; events.MonitorContendedWait += HandleMonitorContendedWait; events.MonitorContendedWaited += HandleMonitorContendedWaited; events.Exception += HandleException; events.ThreadStart += HandleThreadStart; events.ThreadDeath += HandleThreadDeath; events.ClassPrepare += HandleClassPrepare; events.ClassUnload += HandleClassUnload; events.FieldAccess += HandleFieldAccess; events.FieldModification += HandleFieldModification; } }