This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 379eee2f4e748fbbe68a41ca94b1ad2ec9e3a7cc Author: xuxingliang <[email protected]> AuthorDate: Tue Oct 8 11:48:59 2024 +0800 tools/gdb: fix hexdump expression parse Signed-off-by: xuxingliang <[email protected]> --- tools/gdb/nuttxgdb/utils.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tools/gdb/nuttxgdb/utils.py b/tools/gdb/nuttxgdb/utils.py index 60fea1d1b3..357454efaa 100644 --- a/tools/gdb/nuttxgdb/utils.py +++ b/tools/gdb/nuttxgdb/utils.py @@ -763,10 +763,13 @@ class Hexdump(gdb.Command): address = int(argv[0], 0) size = int(argv[1], 0) else: - var = gdb.parse_and_eval(f"{argv[0]}") - address = int(var.address) - size = int(var.type.sizeof) - gdb.write(f"{argv[0]} {hex(address)} {int(size)}\n") + try: + var = gdb.parse_and_eval(f"{argv[0]}") + address = int(var.cast(long_type)) + size = int(argv[1]) if argv[1] else int(var.type.sizeof) + gdb.write(f"{argv[0]} {hex(address)} {int(size)}\n") + except Exception as e: + gdb.write(f"Invalid {argv[0]}: {e}\n") hexdump(address, size) @@ -843,7 +846,7 @@ class Addr2Line(gdb.Command): self.print_backtrace(addr, pid) else: addresses = [] - for arg in shlex.split(args): + for arg in shlex.split(args.replace(",", " ")): if is_decimal(arg): addresses.append(int(arg)) elif is_hexadecimal(arg):
