编辑:现在看来它并不局限于,frame info但事实上,没有任何breakpoint command add命令可以工作.只有在(lldb)命令提示符下手动输入时,它们才有效
我通过XCode控制台在LLDB中设置了一些断点,以检查一个类及其在代码中的使用方式.
(lldb) breakpoint set --func-regex "DVLayer"
Run Code Online (Sandbox Code Playgroud)
断点7:73个位置.
(lldb) breakpoint command add 7
Run Code Online (Sandbox Code Playgroud)
输入您的调试器命令.输入"DONE"结束.
frame info
continue
DONE
Run Code Online (Sandbox Code Playgroud)
这在XCode的所有先前版本中都运行良好,可以追溯到XCode 4.但是,我得到的只是控制台中的这些语句,而且没有帧信息.我已经在5个不同的类上尝试了断点命令,并且它们都没有工作...总是这个输出.
命令#2'继续'继续目标.
命令#2'继续'继续目标.
命令#2'继续'继续目标.
命令#2'继续'继续目标.
命令#2'继续'继续目标.
命令#2'继续'继续目标.
命令#2'继续'继续目标.
命令#2'继续'继续目标.
命令#2'继续'继续目标.
另请注意,此breakpoint command add声明仅在声明中失效
如果我只是在(lldb)命令提示符处停止在LLDB中的断点处,我可以键入frame info并按预期工作,但是,如上所述,添加frame info为断点命令完全失败并显示上面的输出.
以下解决方法在 Xcode 8.0 中对我有用:
(lldb) breakpoint set --func-regex "setTitle"
Breakpoint 2: 296 locations.
(lldb) breakpoint command add --script-type python 2
Enter your Python command(s). Type 'DONE' to end.
def function (frame, bp_loc, internal_dict):
"""frame: the lldb.SBFrame for the location at which you stopped
bp_loc: an lldb.SBBreakpointLocation for the breakpoint location information
internal_dict: an LLDB support object not to be used"""
print str(frame)
frame.GetThread().GetProcess().Continue()
DONE
(lldb)
frame #0: 0x00000001879ca4b8 UIKit`-[UIButton _setTitleShadowOffset:]
frame #0: 0x00000001879ca4b8 UIKit`-[UIButton _setTitleShadowOffset:]
frame #0: 0x00000001879ca4b8 UIKit`-[UIButton _setTitleShadowOffset:]
frame #0: 0x000000018781ef68 UIKit`-[UIButton setTitleColor:forState:]
frame #0: 0x000000018781efb4 UIKit`-[UIButtonContent setTitleColor:]
frame #0: 0x000000018781ef68 UIKit`-[UIButton setTitleColor:forState:]
frame #0: 0x000000018781efb4 UIKit`-[UIButtonContent setTitleColor:]
frame #0: 0x000000018781ef68 UIKit`-[UIButton setTitleColor:forState:]
frame #0: 0x000000018781efb4 UIKit`-[UIButtonContent setTitleColor:]
frame #0: 0x000000018781edec UIKit`-[UIButton setTitle:forState:]
frame #0: 0x000000018781ee6c UIKit`-[UIButtonContent setTitle:]
Run Code Online (Sandbox Code Playgroud)
编辑:更多信息:我无法在 Xcode 8 中获取外部 python 脚本。
编辑:链接到 LLDB python 命令:https ://lldb.llvm.org/python-reference.html
| 归档时间: |
|
| 查看次数: |
478 次 |
| 最近记录: |