mirror of
https://github.com/apache/nuttx.git
synced 2026-05-28 03:45:50 +08:00
nxgdb/fs: use default args
Instead of storing it to self Signed-off-by: xuxingliang <xuxingliang@xiaomi.com>
This commit is contained in:
committed by
Alin Jerpelea
parent
d36b2f94d3
commit
dc5251f9c8
+16
-17
@@ -305,7 +305,6 @@ class ForeachInode(gdb.Command):
|
|||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__("foreach inode", gdb.COMMAND_USER)
|
super().__init__("foreach inode", gdb.COMMAND_USER)
|
||||||
self.level = 4096
|
|
||||||
|
|
||||||
def get_root_inode(self, addr_or_expr):
|
def get_root_inode(self, addr_or_expr):
|
||||||
try:
|
try:
|
||||||
@@ -321,7 +320,7 @@ class ForeachInode(gdb.Command):
|
|||||||
"-L",
|
"-L",
|
||||||
"--level",
|
"--level",
|
||||||
type=int,
|
type=int,
|
||||||
default=None,
|
default=4096,
|
||||||
help="Only render the tree to a specific depth",
|
help="Only render the tree to a specific depth",
|
||||||
)
|
)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
@@ -335,18 +334,13 @@ class ForeachInode(gdb.Command):
|
|||||||
args = parser.parse_args(argv)
|
args = parser.parse_args(argv)
|
||||||
except SystemExit:
|
except SystemExit:
|
||||||
return None
|
return None
|
||||||
return {
|
|
||||||
"level": args.level if args.level else 4096,
|
|
||||||
"root_inode": (
|
|
||||||
self.get_root_inode(args.addr_or_expr)
|
|
||||||
if args.addr_or_expr
|
|
||||||
else utils.gdb_eval_or_none("g_root_inode")
|
|
||||||
),
|
|
||||||
}
|
|
||||||
|
|
||||||
def print_inode_info(self, node: Inode, level, prefix):
|
return args
|
||||||
if level > self.level:
|
|
||||||
|
def print_inode_info(self, node: Inode, level=1, prefix="", maxlevel=4096):
|
||||||
|
if level > maxlevel:
|
||||||
return
|
return
|
||||||
|
|
||||||
while node:
|
while node:
|
||||||
if node.i_peer:
|
if node.i_peer:
|
||||||
initial_indent = prefix + "├── "
|
initial_indent = prefix + "├── "
|
||||||
@@ -391,7 +385,7 @@ class ForeachInode(gdb.Command):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
if node.i_child:
|
if node.i_child:
|
||||||
self.print_inode_info(node.i_child, level + 1, newprefix)
|
self.print_inode_info(node.i_child, level + 1, newprefix, maxlevel)
|
||||||
node = node.i_peer
|
node = node.i_peer
|
||||||
|
|
||||||
def diagnose(self, *args, **kwargs):
|
def diagnose(self, *args, **kwargs):
|
||||||
@@ -406,11 +400,16 @@ class ForeachInode(gdb.Command):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def invoke(self, args, from_tty):
|
def invoke(self, args, from_tty):
|
||||||
arg = self.parse_arguments(args.split(" "))
|
args = self.parse_arguments(args.split(" "))
|
||||||
if not arg:
|
if not args:
|
||||||
return
|
return
|
||||||
self.level = arg["level"]
|
|
||||||
self.print_inode_info(arg["root_inode"], 1, "")
|
root = (
|
||||||
|
self.get_root_inode(args.addr_or_expr)
|
||||||
|
if args.addr_or_expr
|
||||||
|
else utils.gdb_eval_or_none("g_root_inode")
|
||||||
|
)
|
||||||
|
self.print_inode_info(root, maxlevel=args.level)
|
||||||
|
|
||||||
|
|
||||||
class InfoShmfs(gdb.Command):
|
class InfoShmfs(gdb.Command):
|
||||||
|
|||||||
Reference in New Issue
Block a user