gpt4 book ai didi

ios - lldb 断点命令在 XCode 8 中不起作用

转载 作者:可可西里 更新时间:2023-11-01 04:55:50 25 4
gpt4 key购买 nike

编辑:现在看来,它不仅限于 frame info,但实际上,breakpoint command add 命令都不起作用。只有在 (lldb) 命令提示符下手动输入它们才会起作用

我通过 XCode 控制台在 LLDB 中设置了一些断点,以检查一个类及其在代码中的使用方式。

(lldb) breakpoint set --func-regex "DVLayer"

断点 7:73 个位置。

(lldb) breakpoint command add 7

输入您的调试器命令。输入“DONE”结束。

 frame info

continue

DONE

这在 XCode 4 之前的所有 XCode 版本中都运行良好。但是现在,我得到的只是控制台中的这些语句,没有帧信息。我已经在 5 个不同的类上尝试了断点命令,但它对它们都不起作用......总是这个输出。

命令#2“继续”继续目标。

命令#2“继续”继续目标。

命令#2“继续”继续目标。

命令#2“继续”继续目标。

命令#2“继续”继续目标。

命令#2“继续”继续目标。

命令#2“继续”继续目标。

命令#2“继续”继续目标。

命令#2“继续”继续目标。

另请注意,THIS ONLY FAILS TO WORK INSIDE A 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:]

编辑:更多信息:我无法让外部 python 脚本进入 Xcode 8。

编辑:链接到 LLDB python 命令:https://lldb.llvm.org/python-reference.html

关于ios - lldb 断点命令在 XCode 8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40593039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com