Skip to content

Commit

Permalink
[registers] using new argparsing (issue #661)
Browse files Browse the repository at this point in the history
  • Loading branch information
hugsy committed Jun 23, 2021
1 parent a652786 commit 5f5ba01
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 9 deletions.
15 changes: 8 additions & 7 deletions gef.py
Expand Up @@ -7020,17 +7020,18 @@ class DetailRegistersCommand(GenericCommand):
_example_ = "\n{0:s}\n{0:s} $eax $eip $esp".format(_cmdline_)

@only_if_gdb_running
def do_invoke(self, argv):
@parse_arguments({"registers": ["",]}, {})
def do_invoke(self, argv, *args, **kwargs):
unchanged_color = get_gef_setting("theme.registers_register_name")
changed_color = get_gef_setting("theme.registers_value_changed")
string_color = get_gef_setting("theme.dereference_string")
regs = current_arch.all_registers

if argv:
regs = [reg for reg in current_arch.all_registers if reg in argv]
if not regs:
warn("No matching registers found")
else:
regs = current_arch.all_registers
args = kwargs["arguments"]
if args.registers and args.registers[0]:
valid_regs = list(set(current_arch.all_registers) & set(args.registers))
if valid_regs:
regs = valid_regs

memsize = current_arch.ptrsize
endian = endian_str()
Expand Down
4 changes: 2 additions & 2 deletions tests/runtests.py
Expand Up @@ -51,8 +51,8 @@ def test_cmd_capstone_disassemble(self):
self.assertNoException(res)
self.assertTrue(len(res.splitlines()) > 1)

self.assertFailIfInactiveSession(gdb_run_cmd("cs opcodes"))
res = gdb_start_silent_cmd("cs opcodes")
self.assertFailIfInactiveSession(gdb_run_cmd("cs --show-opcodes"))
res = gdb_start_silent_cmd("cs --show-opcodes")
self.assertNoException(res)
self.assertTrue(len(res.splitlines()) > 1)
# match the following pattern
Expand Down

0 comments on commit 5f5ba01

Please sign in to comment.