示例#1
0
        public void Create(EditorWindow owner, System.UInt64 startAddress, ArraySegment64 <byte> heap)
        {
            m_Owner          = owner;
            m_Heap           = heap;
            m_StartAddress   = startAddress;
            m_LineCount      = (long)((heap.count + k_ColumnCount - 1) / k_ColumnCount);
            m_ScrollPosition = 0;
            m_VisibleLines   = 100;
            BuildText();

            m_Owner.Repaint();
        }
示例#2
0
        void InspectInternal(PackedMemorySnapshot memory, System.UInt64 address, System.UInt64 size)
        {
            m_segment = new ArraySegment64 <byte>();
            if (address == 0)
            {
                return;
            }

            var heapIndex = memory.FindHeapOfAddress(address);
            var heap      = memory.managedHeapSections[heapIndex];

            m_segment = new ArraySegment64 <byte>(heap.bytes, address - heap.startAddress, size);

            m_hexView.Create(this, address, m_segment);
            Repaint();
        }
示例#3
0
        public void Inspect(PackedMemorySnapshot memory, System.UInt64 address, System.UInt64 size)
        {
            m_Segment = new ArraySegment64 <byte>();
            if (address == 0)
            {
                return;
            }

            var heapIndex = memory.FindHeapOfAddress(address);

            if (heapIndex < 0)
            {
                return;
            }

            var heap    = memory.managedHeapSections[heapIndex];
            var segment = new ArraySegment64 <byte>(heap.bytes, address - heap.startAddress, size);

            Inspect(memory, address, segment);
        }
示例#4
0
 public void Inspect(PackedMemorySnapshot memory, System.UInt64 address, ArraySegment64 <byte> segment)
 {
     m_Segment = segment;
     m_HexControl.Create(window, address, m_Segment);
 }
示例#5
0
 public void Clear()
 {
     m_Segment = new ArraySegment64 <byte>();
 }