Class: Ragweed::Wraposx::RegionExtendedInfo
- Inherits:
-
RegionInfo
- Object
- RegionInfo
- Ragweed::Wraposx::RegionExtendedInfo
- Defined in:
- lib/ragweed/wraposx/region_info.rb
Constant Summary collapse
- FLAVOR =
Ragweed::Wraposx::Vm::REGION_EXTENDED_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
184 185 186 |
# File 'lib/ragweed/wraposx/region_info.rb', line 184 def self.get(t, a) self.new(Ragweed::Wraposx::vm_region_raw(t, a, FLAVOR)) end |
Instance Method Details
#dump(&block) ⇒ Object
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/ragweed/wraposx/region_info.rb', line 162 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 =<<EOM ----------------------------------------------------------------------- INFO: protection: #{self.protection.to_s(2).rjust(8, "0")} #{Ragweed::Wraposx::Vm::Pflags.flag_dump(self.protection)} user_tag: #{self.user_tag.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.user_tag)} pages_resident: #{self.pages_resident.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.pages_resident)} pages_shared_now_private: #{self.pages_shared_now_private.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.pages_shared_now_private)} pages_swapped_out: #{self.pages_swapped_out.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.pages_swapped_out)} pages_dirtied: #{self.pages_dirtied.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.pages_dirtied)} ref_count: #{self.ref_count.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.ref_count)} shadow_depth: #{self.shadow_depth.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.shadow_depth)} external_pager: #{self.external_pager.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.external_pager)} share_mode: #{self.share_mode.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.share_mode)} address: #{self.address.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.address)} size: #{self.size.to_s(16).rjust(8, "0")} #{maybe_hex.call(self.size)} EOM end |