예제 #1
0
 public void UpdateStack(byte[] aData)
 {
     System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal,
                                                          (Action) delegate()
     {
         if (aData == null)
         {
             memvESP.Clear();
         }
         else
         {
             try
             {
                 var xValues = MemoryViewUC.Split(aData);
                 int xCount  = xValues.Count;
                 memvESP.Clear();
                 for (int i = 0; i < xCount; i++)
                 {
                     memvESP.Add(("[EBP - " + ((xCount - i) * 4) + "]").PadRight(10) + " [ESP + " + (i * 4) + "]", xValues[i]);
                 }
             }
             catch
             {
                 memvESP.Clear();
             }
         }
     }
                                                          );
 }
예제 #2
0
 public void UpdateFrame(byte[] aData)
 {
     System.Windows.Application.Current.Dispatcher.Invoke(DispatcherPriority.Normal,
                                                          (Action) delegate()
     {
         if (aData == null)
         {
             memvEBP.Clear();
         }
         else
         {
             try
             {
                 var xValues = MemoryViewUC.Split(aData);
                 int xCount  = xValues.Count;
                 memvEBP.Clear();
                 for (int i = 0; i < xCount; i++)
                 {
                     // We start at EBP + 8, because lower is not transmitted
                     // [EBP] is old EBP - not needed
                     // [EBP + 4] is saved EIP - not needed
                     memvEBP.Add("[EBP + " + (i * 4 + 8) + "]", xValues[i]);
                 }
             }
             catch
             {
                 memvEBP.Clear();
             }
         }
     }
                                                          );
 }
예제 #3
0
        public async Task UpdateFrameAsync(byte[] aData)
        {
            await Package.JoinableTaskFactory.SwitchToMainThreadAsync();

            if (aData == null)
            {
                memvEBP.Clear();
            }
            else
            {
                try
                {
                    var xValues = MemoryViewUC.Split(aData);
                    int xCount  = xValues.Count;
                    memvEBP.Clear();
                    for (int i = 0; i < xCount; i++)
                    {
                        // We start at EBP + 8, because lower is not transmitted
                        // [EBP] is old EBP - not needed
                        // [EBP + 4] is saved EIP - not needed
                        memvEBP.Add("[EBP + " + (i * 4 + 8) + "]", xValues[i]);
                    }
                }
                catch
                {
                    memvEBP.Clear();
                }
            }
        }
예제 #4
0
        public async Task UpdateStackAsync(byte[] aData)
        {
            await Package.JoinableTaskFactory.SwitchToMainThreadAsync();

            if (aData == null)
            {
                memvESP.Clear();
            }
            else
            {
                try
                {
                    var xValues = MemoryViewUC.Split(aData);
                    int xCount  = xValues.Count;
                    memvESP.Clear();
                    for (int i = 0; i < xCount; i++)
                    {
                        memvESP.Add(("[EBP - " + ((xCount - i) * 4) + "]").PadRight(10) + " [ESP + " + (i * 4) + "]", xValues[i]);
                    }
                }
                catch
                {
                    memvESP.Clear();
                }
            }
        }
예제 #5
0
        void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:
                this.CosmosStackUserControl = ((Cosmos.VS.Windows.StackUC)(target));
                return;

            case 2:
                this.memvEBP = ((Cosmos.VS.Windows.MemoryViewUC)(target));
                return;

            case 3:
                this.memvESP = ((Cosmos.VS.Windows.MemoryViewUC)(target));
                return;
            }
            this._contentLoaded = true;
        }