/// <summary>
        ///
        /// </summary>
        private void flashInterface_BreakpointEvent(object sender)
        {
            Location loc = FlashInterface.getCurrentLocation();

            if (PluginMain.breakPointManager.ShouldBreak(loc.getFile(), loc.getLine()))
            {
                UpdateUI(DebuggerState.BreakHalt);
            }
            else
            {
                FlashInterface.StepResume();
            }
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        private void flashInterface_BreakpointEvent(object sender)
        {
            Location loc = FlashInterface.getCurrentLocation();

            // todo checking for loc here, but should handle swfloaded case and wait with breakpoint event
            if (loc != null && PluginMain.breakPointManager.ShouldBreak(loc.getFile(), loc.getLine()))
            {
                UpdateUI(DebuggerState.BreakHalt);
            }
            else
            {
                FlashInterface.StepResume();
            }
        }
示例#3
0
        private void Manager_OnMouseHover(ScintillaControl sci, Int32 position)
        {
            if (m_ToolTip == null)
            {
                Initialize();
            }

            DebuggerManager debugManager   = PluginMain.debugManager;
            FlashInterface  flashInterface = debugManager.FlashInterface;

            if (!PluginBase.MainForm.EditorMenu.Visible && flashInterface != null && flashInterface.isDebuggerStarted && flashInterface.isDebuggerSuspended)
            {
                if (debugManager.CurrentLocation != null && debugManager.CurrentLocation.getFile() != null)
                {
                    String localPath = debugManager.GetLocalPath(debugManager.CurrentLocation.getFile());
                    if (localPath == null || localPath != PluginBase.MainForm.CurrentDocument.FileName)
                    {
                        return;
                    }
                }
                else
                {
                    return;
                }
                Point     dataTipPoint = Control.MousePosition;
                Rectangle rect         = new Rectangle(m_ToolTip.Location, m_ToolTip.Size);
                if (m_ToolTip.Visible && rect.Contains(dataTipPoint))
                {
                    return;
                }
                position = sci.WordEndPosition(position, true);
                String leftword = GetWordAtPosition(sci, position);
                if (leftword != String.Empty)
                {
                    try
                    {
                        IASTBuilder b   = new ASTBuilder(false);
                        ValueExp    exp = b.parse(new StringReader(leftword));
                        var         ctx = new ExpressionContext(flashInterface.Session, flashInterface.GetFrames()[debugManager.CurrentFrame]);
                        var         obj = exp.evaluate(ctx);
                        if (obj as Variable != null)
                        {
                            Show(dataTipPoint, (Variable)obj, leftword);
                        }
                    }
                    catch (Exception) {}
                }
            }
        }
 public DebuggerManager()
 {
     m_FlashInterface = new FlashInterface();
     m_FlashInterface.m_BreakPointManager = PluginMain.breakPointManager;
     m_FlashInterface.StartedEvent       += new DebuggerEventHandler(flashInterface_StartedEvent);
     m_FlashInterface.DisconnectedEvent  += new DebuggerEventHandler(flashInterface_DisconnectedEvent);
     m_FlashInterface.BreakpointEvent    += new DebuggerEventHandler(flashInterface_BreakpointEvent);
     m_FlashInterface.FaultEvent         += new DebuggerEventHandler(flashInterface_FaultEvent);
     m_FlashInterface.PauseEvent         += new DebuggerEventHandler(flashInterface_PauseEvent);
     m_FlashInterface.StepEvent          += new DebuggerEventHandler(flashInterface_StepEvent);
     m_FlashInterface.ScriptLoadedEvent  += new DebuggerEventHandler(flashInterface_ScriptLoadedEvent);
     m_FlashInterface.WatchpointEvent    += new DebuggerEventHandler(flashInterface_WatchpointEvent);
     m_FlashInterface.UnknownHaltEvent   += new DebuggerEventHandler(flashInterface_UnknownHaltEvent);
     m_FlashInterface.ProgressEvent      += new DebuggerProgressEventHandler(flashInterface_ProgressEvent);
 }
        public DebuggerManager()
        {
			m_FlashInterface = new FlashInterface();
			m_FlashInterface.m_BreakPointManager = PluginMain.breakPointManager;
			m_FlashInterface.StartedEvent += new DebuggerEventHandler(flashInterface_StartedEvent);
			m_FlashInterface.DisconnectedEvent += new DebuggerEventHandler(flashInterface_DisconnectedEvent);
			m_FlashInterface.BreakpointEvent += new DebuggerEventHandler(flashInterface_BreakpointEvent);
			m_FlashInterface.FaultEvent += new DebuggerEventHandler(flashInterface_FaultEvent);
			m_FlashInterface.PauseEvent += new DebuggerEventHandler(flashInterface_PauseEvent);
			m_FlashInterface.StepEvent += new DebuggerEventHandler(flashInterface_StepEvent);
			m_FlashInterface.ScriptLoadedEvent += new DebuggerEventHandler(flashInterface_ScriptLoadedEvent);
			m_FlashInterface.WatchpointEvent += new DebuggerEventHandler(flashInterface_WatchpointEvent);
			m_FlashInterface.UnknownHaltEvent += new DebuggerEventHandler(flashInterface_UnknownHaltEvent);
            m_FlashInterface.ProgressEvent += new DebuggerProgressEventHandler(flashInterface_ProgressEvent);
        }
示例#6
0
 /// <summary>
 ///
 /// </summary>
 private void UpdateUI(DebuggerState state)
 {
     if ((PluginBase.MainForm as Form).InvokeRequired)
     {
         (PluginBase.MainForm as Form).BeginInvoke((MethodInvoker) delegate()
         {
             UpdateUI(state);
         });
         return;
     }
     CurrentLocation = FlashInterface.getCurrentLocation();
     UpdateStackUI();
     UpdateLocalsUI();
     UpdateMenuState(state);
     (PluginBase.MainForm as Form).Activate();
 }
 /// <summary>
 ///
 /// </summary>
 private void UpdateUI(DebuggerState state)
 {
     if ((PluginBase.MainForm as Form).InvokeRequired)
     {
         (PluginBase.MainForm as Form).BeginInvoke((MethodInvoker) delegate()
         {
             UpdateUI(state);
         });
         return;
     }
     try
     {
         CurrentLocation = FlashInterface.getCurrentLocation();
         UpdateStackUI();
         UpdateLocalsUI();
         UpdateMenuState(state);
         (PluginBase.MainForm as Form).Activate();
     }
     catch (PlayerDebugException ex)
     {
         ErrorManager.ShowError("Internal Debugger Exception", ex);
     }
 }