forked from llvm/llvm-project
- Notifications
You must be signed in to change notification settings - Fork 339
/
Copy pathin_call_stack.py
executable file
·24 lines (20 loc) · 797 Bytes
/
in_call_stack.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env python
def__lldb_init_module(debugger, internal_dict):
debugger.HandleCommand(
f"command alias in_call_stack breakpoint command add --python-function {__name__}.in_call_stack -k name -v %1"
)
defin_call_stack(frame, bp_loc, arg_dict, _):
"""Only break if the given name is in the current call stack."""
name=arg_dict.GetValueForKey("name").GetStringValue(1000)
thread=frame.GetThread()
found=False
forframeinthread.frames:
# Check the symbol.
symbol=frame.GetSymbol()
ifsymbolandnameinframe.GetSymbol().GetName():
returnTrue
# Check the function.
function=frame.GetFunction()
iffunctionandnameinfunction.GetName():
returnTrue
returnFalse