Exemplo n.º 1
0
        private void OnTreeUpdated(MemTreeNode root)
        {
            m_HeapTree.SetRoot(root);
            m_StripStatus.Text      = "Ready";
            m_ReplayProgress.Value  = 0;
            m_RefreshButton.Enabled = true;
            m_TimeControl.Enabled   = true;

            string selected_name = null;

            if (m_HeapCombo.SelectedItem != null)
            {
                selected_name = ((HeapComboItem)m_HeapCombo.SelectedItem).Name;
            }

            // Update heap combo box.
            m_HeapCombo.Items.Clear();

            object new_sel_item = null;

            foreach (var heap in m_Trace.Heaps.Values)
            {
                int r = 1;
                foreach (var range in heap.CoreRanges)
                {
                    var item = new HeapComboItem
                    {
                        Name         = String.Format("{0} (R:{1})", heap.Name, r++),
                        StartAddress = range.BaseAddress,
                        EndAddress   = range.BaseAddress + range.SizeBytes,
                    };
                    m_HeapCombo.Items.Add(item);

                    if (null != selected_name && item.Name == selected_name)
                    {
                        new_sel_item = item;
                    }
                }
            }

            if (new_sel_item != null)
            {
                m_HeapCombo.SelectedItem = new_sel_item;
            }

            m_FragWidget.OnRangeUpdated();
        }
Exemplo n.º 2
0
    private void OnTreeUpdated(MemTreeNode root)
    {
      m_HeapTree.SetRoot(root);
      m_StripStatus.Text = "Ready";
      m_ReplayProgress.Value = 0;
      m_RefreshButton.Enabled = true;
      m_TimeControl.Enabled = true;

      string selected_name = null;
      if (m_HeapCombo.SelectedItem != null)
      {
        selected_name = ((HeapComboItem)m_HeapCombo.SelectedItem).Name;
      }

      // Update heap combo box.
      m_HeapCombo.Items.Clear();

      object new_sel_item = null;

      foreach (var heap in m_Trace.Heaps.Values)
      {
        int r = 1;
        foreach (var range in heap.CoreRanges)
        {
          var item = new HeapComboItem
          {
            Name = String.Format("{0} (R:{1})", heap.Name, r++),
            StartAddress = range.BaseAddress,
            EndAddress = range.BaseAddress + range.SizeBytes,
          };
          m_HeapCombo.Items.Add(item);

          if (null != selected_name && item.Name == selected_name)
          {
            new_sel_item = item;
          }
        }
      }

      if (new_sel_item != null)
      {
        m_HeapCombo.SelectedItem = new_sel_item;
      }

      m_FragWidget.OnRangeUpdated();
    }