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")

Reply via email to