Beispiel #1
0
        public void Suspend()
        {
            //LogProvider.Log ("VM: Suspending ");

            vm.Suspend();
            if (VMSuspended != null)
            {
                var thread = vm.GetThreads().FirstOrDefault();
                //LogProvider.Log ("VM: thread " + thread.Name);
                if (thread != null)
                {
                    VMSuspended(new Event(Cache.Lookup <SdbThreadMirror> (thread)));
                }
            }
        }
        public void Connect()
        {
            WithErrorLogging(() =>
            {
                Trace("Attempting connection at port {0}...", _debuggerPort);

                _vm = VirtualMachineManager.Connect(new IPEndPoint(IPAddress.Loopback, _debuggerPort));
                _vm.Suspend();
                _vm.EnableEvents(
                    EventType.AssemblyLoad,
                    EventType.AssemblyUnload,
                    EventType.AppDomainUnload,
                    EventType.AppDomainCreate,
                    EventType.VMDeath,
                    EventType.VMDisconnect,
                    EventType.TypeLoad
                    );
                _methodEntryRequest = _vm.CreateMethodEntryRequest();
                StartEventLoop();
            });
        }
Beispiel #3
0
        public void Connect()
        {
            WithErrorLogging(() =>
            {
                Trace("Attempting connection at port {0}...", _debuggerPort);

                _vm = VirtualMachineManager.Connect(new IPEndPoint(IPAddress.Loopback, _debuggerPort));
                _vm.Suspend();
                _vm.EnableEvents(
                    EventType.AssemblyLoad,
                    EventType.AssemblyUnload,
                    EventType.AppDomainUnload,
                    EventType.AppDomainCreate,
                    EventType.VMDeath,
                    EventType.VMDisconnect,
                    EventType.TypeLoad
                    );
                _methodEntryRequest = _vm.CreateMethodEntryRequest();
                StartEventLoop();
            });
        }