Class: Ragweed::Wraposx::RegionTopInfo

Inherits:
RegionInfo show all
Defined in:
lib/ragweed/wraposx/region_info.rb

Constant Summary collapse

FLAVOR =
Ragweed::Wraposx::Vm::REGION_TOP_INFO

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RegionInfo

#get, #initialize, #inspect, #refresh, #to_s

Constructor Details

This class inherits a constructor from Ragweed::Wraposx::RegionInfo

Class Method Details

.get(t, a) ⇒ Object



218
219
220
# File 'lib/ragweed/wraposx/region_info.rb', line 218

def self.get(t, a)
  self.new(Ragweed::Wraposx::vm_region_raw(t, a, FLAVOR))
end

Instance Method Details

#dump(&block) ⇒ Object



201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
# File 'lib/ragweed/wraposx/region_info.rb', line 201

def dump(&block)
  maybe_hex = lambda {|a| begin; "\n" + (" " * 9) + block.call(a, 16).hexdump(true)[10..-2]; rescue; ""; end }
  maybe_dis = lambda {|a| begin; "\n" + block.call(a, 16).distorm.map {|i| "         " + i.mnem}.join("\n"); rescue; ""; end }

  string ="  -----------------------------------------------------------------------\n  INFO:\n  obj_id:                 \#{self.obj_id.to_s(16).rjust(8, \"0\")} \#{maybe_hex.call(self.obj_id)}\n  ref_count:              \#{self.ref_count.to_s(16).rjust(8, \"0\")} \#{maybe_hex.call(self.ref_count)}\n  private_pages_resident: \#{self.private_pages_resident.to_s(16).rjust(8, \"0\")} \#{maybe_hex.call(self.private_pages_resident)}\n  shared_pages_resident:  \#{self.shared_pages_resident.to_s(16).rjust(8, \"0\")} \#{maybe_hex.call(self.shared_pages_resident)}\n  share_mode:             \#{self.share_mode.to_s(16).rjust(8, \"0\")} \#{maybe_hex.call(self.share_mode)}\n  address:                \#{self.address.to_s(16).rjust(8, \"0\")} \#{maybe_hex.call(self.address)}\n  size:                   \#{self.size.to_s(16).rjust(8, \"0\")} \#{maybe_hex.call(self.size)}\n"
end