【发布时间】:2023-03-05 21:39:01
【问题描述】:
在this answer 之后,我能够在代码中创建断点。
func sayHello() {
raise(SIGTRAP) // programmatic breakpoint
kill(getpid(), SIGSTOP) // programmatic breakpoint
print("say hello")
}
使用这两个函数中的任何一个都会停止执行,并且永远不会打印“say hello”。
与我能够以编程方式创建断点的方式相同,是否有一种方法可以以编程方式创建其他内容,以便在命中这两个断点中的任何一个后继续执行?
【问题讨论】:
-
让 LLDB 创建一个真正的断点以正确的方式执行此操作不是更好吗?这种断点可能非常强大,包括在打印后根据需要自动继续。
-
那些不是断点 - 您正在终止您的应用程序。你不能从那一点继续。即使可以,将执行什么代码来执行“继续”-您已停止执行。你想做什么?您可以在 Xcode 中创建断点,执行一些操作并自动继续。
-
@Paulw11 哦,我不知道它终止了应用程序,答案说这是一个“代码中”断点(看看它)。谢谢你提供的详情。我在使用 fg 通知的 avcapturesession 时遇到问题。它仅在我在 bg 通知上设置断点时触发。这真的很奇怪。我的想法只是使用程序断点并让它继续。不确定它是否会起作用,但值得一试。
-
@matt 你能把你的建议的链接发给我吗?
-
就这么做吧。在代码编辑器中,放置一个断点,双击编辑它,告诉它打印并继续。这是微不足道的。
标签: ios swift breakpoints