def to_s
      ret = Helper.color(format("#<%s:%#x>\n", self.class.to_s, @base), sev: :klass)
      ret += "flags = [#{flags.map { |f| Helper.color(":#{f}", sev: :sym) }.join(',')}]\n"
      ret += "size = #{Helper.color(format('%#x', size))} (#{bintype})\n"
      ret += "prev_size = #{Helper.color(format('%#x', @prev_size))}\n" unless flags.include? :prev_inuse
      ret += "data = #{Helper.color(@data.inspect)}#{'...' if @data.length < size - size_t * 2}\n"
      ret
    end
def to_s
      ret = Helper.color(format("#<%s:%#x>\n", self.class.to_s, @base), sev: :klass)
      ret += "flags = [#{flags.map { |f| Helper.color(":#{f}", sev: :sym) }.join(',')}]\n"
      ret += "size = #{Helper.color(format('%#x', size))} (#{bintype})\n"
      ret += "prev_size = #{Helper.color(format('%#x', @prev_size))}\n" unless flags.include? :prev_inuse
      ret += "data = #{Helper.color(@data.inspect)}#{'...' if @data.length < size - size_t * 2}\n"
      ret
    end
Instantiate a {HeapInfo::Chunk} object

 @param [Integer] size_t 4 or 8
 @param [Integer] base Start address of this chunk
 @param [Proc] dumper For dump more information of this chunk
 @param [Boolean] head
   For specific if is fake chunk in +arena+.
   If +head+ is +true+, will not load +size+ and +prev_size+ (since it's meaningless)
 @example
   HeapInfo::Chunk.new 8, 0x602000, ->(addr, len) { [0,0x21, 0xda4a].pack('Q*')[addr-0x602000, len] }
   # create a chunk with chunk size 0x21
 Hook +#to_s+ for pretty printing
 @return [String]