lldb 仅列出命中数 > 0 的断点
lldb list only those breakpoints with hit count > 0
我在一个特定的库上设置了 100 个断点。 br list
显示了所有断点,滚动所有断点以找出哪些断点具有命中计数是很痛苦的。有没有办法只列出那些命中数 > 0 的断点?
break list
没有任何可用于过滤列表的谓词,但您可以很容易地制作自己的过滤器。例如:
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> for idx in range(0, lldb.target.num_breakpoints):
... bkpt = lldb.target.GetBreakpointAtIndex(idx)
... if bkpt.GetHitCount() > 0:
... print(bkpt)
...
会告诉你你想要什么。如果你经常使用它,你可以将它捆绑到一个命令中,如下所示:
https://lldb.llvm.org/use/python-reference.html#create-a-new-lldb-command-using-a-python-function
请注意,如果您确实将其转换为命令,请记住使用您传递的 SBExecutionContext 中的目标,lldb.target
在基于 Python 的命令中不可用。
我在一个特定的库上设置了 100 个断点。 br list
显示了所有断点,滚动所有断点以找出哪些断点具有命中计数是很痛苦的。有没有办法只列出那些命中数 > 0 的断点?
break list
没有任何可用于过滤列表的谓词,但您可以很容易地制作自己的过滤器。例如:
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> for idx in range(0, lldb.target.num_breakpoints):
... bkpt = lldb.target.GetBreakpointAtIndex(idx)
... if bkpt.GetHitCount() > 0:
... print(bkpt)
...
会告诉你你想要什么。如果你经常使用它,你可以将它捆绑到一个命令中,如下所示:
https://lldb.llvm.org/use/python-reference.html#create-a-new-lldb-command-using-a-python-function
请注意,如果您确实将其转换为命令,请记住使用您传递的 SBExecutionContext 中的目标,lldb.target
在基于 Python 的命令中不可用。