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 b885cb3633edce929ea2691c428120cd61944a40 Author: xuxingliang <[email protected]> AuthorDate: Fri Nov 8 12:28:26 2024 +0800 gdb/lists: add element option to foreach list So we can focus on single element of struct, same as array. Fix typo in foreach array args.element Signed-off-by: xuxingliang <[email protected]> --- tools/gdb/nuttxgdb/lists.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/gdb/nuttxgdb/lists.py b/tools/gdb/nuttxgdb/lists.py index b7e999dcd0..0f61925be2 100644 --- a/tools/gdb/nuttxgdb/lists.py +++ b/tools/gdb/nuttxgdb/lists.py @@ -349,6 +349,13 @@ class ForeachListEntry(gdb.Command): parser.add_argument( "-m", "--member", type=str, default=None, help="Member name in container" ) + parser.add_argument( + "-e", + "--element", + type=str, + help="Only dump this element in array member struct.", + default=None, + ) try: args = parser.parse_args(argv) except SystemExit: @@ -365,6 +372,7 @@ class ForeachListEntry(gdb.Command): else node ) entry = entry.dereference() + entry = entry[args.element] if args.element else entry gdb.write( f"{i} *({entry.type} *){hex(entry.address)} {entry.format_string(styling=True)}\n" ) @@ -409,5 +417,5 @@ class ForeachArray(gdb.Command): node = pointer len = args.length if args.length else utils.nitems(pointer) for i in range(len): - entry = node[i][args.element] if arg.element else node[i] + entry = node[i][args.element] if args.element else node[i] gdb.write(f"{i}: {entry.format_string(styling=True)}\n")
