MCPcopy Create free account
hub / github.com/qilingframework/qiling / render_stack_dump

Method render_stack_dump

qiling/debugger/qdb/render/render.py:126–147  ·  view source on GitHub ↗

Helper function for rendering stack dump.

(self, sp: int, dump: Sequence[Tuple[int, int, Union[int, str, None]]])

Source from the content-addressed store, hash-verified

124 print(f'{s_before}[flags: {s_flags}]')
125
126 def render_stack_dump(self, sp: int, dump: Sequence[Tuple[int, int, Union[int, str, None]]]) -> None:
127 """Helper function for rendering stack dump.
128 """
129
130 # number of hexadecimal nibbles to display per value
131 nibbles = self.pointersize * 2
132
133 for address, value, deref in dump:
134 offset = address - sp
135
136 value_str = '(unreachable)' if value is None else f'{value:#0{nibbles + 2}x}'
137
138 if isinstance(deref, int):
139 deref_str = f'{deref:#0{nibbles + 2}x}'
140
141 elif isinstance(deref, str):
142 deref_str = f'"{deref}"'
143
144 else:
145 deref_str = ''
146
147 print(f'SP + {offset:#04x} │ {address:#010x} : {value_str}{f" {RARROW} {deref_str}" if deref_str else ""}')
148
149 def render_assembly(self, listing: Sequence[InsnLike], pc: int, prediction: Prophecy) -> None:
150 """Helper function for rendering assembly.

Callers 1

context_stackMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected