Ejemplo n.º 1
0
        public XamarinStackFrame(XamarinEngine engine, XamarinThread thread, Mono.Debugging.Client.StackFrame stackFrame)
        {
            _engine     = engine;
            _thread     = thread;
            _stackFrame = stackFrame;

            _parameters = _stackFrame.GetParameters();
            _locals     = _stackFrame.GetLocalVariables();
            _thisObject = _stackFrame.GetThisReference();
        }
Ejemplo n.º 2
0
        private void CreateAndRegisterXamarinThread(Client.ThreadInfo threadInfo)
        {
            XamarinThread            thread = new XamarinThread(this, threadInfo.Id, threadInfo.Name, threadInfo.Location, _session);
            uint                     attributes;
            Guid                     riidEvent   = new Guid(XamarinThreadCreateEvent.IID);
            IDebugThreadCreateEvent2 evnt        = new XamarinThreadCreateEvent();
            IDebugEvent2             eventObject = evnt as IDebugEvent2;

            if (eventObject.GetAttributes(out attributes) != VisualStudioExtensionConstants.S_OK)
            {
                throw new InvalidOperationException("Failed to create and register a thread. The event object failed to get its attributes");
            }
            if (_eventCallback.Event(_engine, null, _activeProgram, thread, eventObject, ref riidEvent, attributes) != VisualStudioExtensionConstants.S_OK)
            {
                throw new InvalidOperationException("Failed to create and register a thread. The event has not been sent succesfully");
            }
        }