gpt4 book ai didi

swift - 如何从 LLDB 调用带断点的 Swift 函数?

转载 作者:行者123 更新时间:2023-12-05 04:31:06 27 4
gpt4 key购买 nike

我知道一个 Swift 函数的名称,并且想从 LLDB 调用该函数以进行调试。

我试过:

expr -- function_with_a_breakpoint()

这会运行函数并正确解析,但不会到达我设置的断点。理想情况下,我想从 LLDB 内部触发,而不必手动从应用程序 UI 触发功能,例如。这样会更方便。

最佳答案

LLDB 中带断点的 Swift 函数 💥

我在这个答案中添加了附注,因为我们通常在想要到达断点时从 LLDB 触发 Swift 函数。

我喜欢在 LLDB 中管理断点,因为我不会中断 Xcode 和控制台之间的流程。

触发函数🔫

您的问题的答案就在这里。我们必须设置 -i 标志来触发来自 LLDB 的函数:

(lldb) expr -i 0 -- function_with_a_breakpoint()

程序断点

我们通常使用 LLDB 中的函数触发器来手动触发断点。

如果我们想在一个函数上设置一个断点并且我们知道名字:

(lldb) breakpoint set -n function_with_a_breakpoint

使用文件名和行号:

(lldb) breakpoint set --file foo.swift --line 12
// copy the breakpoint number into the modify command below

我们还可以使用 --one-shot 标志一次性创建断点。

(lldb) breakpoint modify --one-shot 1

奖金工作流程说明 🍀

示例流程:

(lldb) run
(lldb) kill
... hit breakpoints...
(lldb) continue

所以我们可以在上面的例子中在kill之后触发函数。

关于swift - 如何从 LLDB 调用带断点的 Swift 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71909977/

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