MCPcopy Create free account
hub / github.com/Vector35/debugger / DebugRegisters

Class DebugRegisters

api/python/debuggercontroller.py:190–218  ·  view source on GitHub ↗

DebugRegisters represents all registers of the target.

Source from the content-addressed store, hash-verified

188
189
190class DebugRegisters:
191 """
192 DebugRegisters represents all registers of the target.
193 """
194 def __init__(self, handle):
195 self.handle = handle
196 self.regs = {}
197 count = ctypes.c_ulonglong()
198 registers = dbgcore.BNDebuggerGetRegisters(handle, count)
199 for i in range(0, count.value):
200 bp = DebugRegister(registers[i].m_name, registers[i].m_value,
201 registers[i].m_width, registers[i].m_registerIndex, registers[i].m_hint)
202 self.regs[registers[i].m_name] = bp
203 dbgcore.BNDebuggerFreeRegisters(registers, count.value)
204
205 def __repr__(self) -> str:
206 return self.regs.__repr__()
207
208 def __getitem__(self, name):
209 if name not in self.regs:
210 return None
211
212 return self.regs[name]
213
214 def __setitem__(self, name, val):
215 dbgcore.BNDebuggerSetRegisterValue(self.handle, name, val)
216
217 def __len__(self):
218 return len(self.regs)
219
220
221class DebugBreakpoint:

Callers 1

regsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected