(self, f)
| 3114 | return |
| 3115 | |
| 3116 | def output_address_ranges(self, f): |
| 3117 | regions = {} |
| 3118 | def print_region(_reader, start, size, _location): |
| 3119 | regions[start] = size |
| 3120 | self.reader.ForEachMemoryRegion(print_region) |
| 3121 | f.write("<h3>Available memory regions</h3>") |
| 3122 | f.write('<div class="code">') |
| 3123 | f.write("<table class=\"regions\">") |
| 3124 | f.write("<thead><tr>") |
| 3125 | f.write("<th>Start address</th>") |
| 3126 | f.write("<th>End address</th>") |
| 3127 | f.write("<th>Number of bytes</th>") |
| 3128 | f.write("</tr></thead>") |
| 3129 | for start in sorted(regions): |
| 3130 | size = regions[start] |
| 3131 | f.write("<tr>") |
| 3132 | f.write("<td>%s</td>" % self.format_address(start)) |
| 3133 | f.write("<td> %s</td>" % self.format_address(start + size)) |
| 3134 | f.write("<td> %d</td>" % size) |
| 3135 | f.write("</tr>") |
| 3136 | f.write("</table>") |
| 3137 | f.write('</div>') |
| 3138 | return |
| 3139 | |
| 3140 | def output_module_details(self, f, module): |
| 3141 | f.write("<b>%s</b>" % GetModuleName(self.reader, module)) |
no test coverage detected