通过代码设置Xcode断点? (如暂停()函数)
我正在寻找一种通过 Xcode 上的代码暂停程序执行的方法 例如,我可以使用 abort()
C 函数停止执行。这会弹出 Xcode 调试器。
但是,这会完全退出程序,因此我正在寻找一种方法来暂停执行。所以我可以在检查执行状态后恢复执行。
这是处理轻量级错误所必需的。我尝试了 pause()
C 函数,但它不起作用。执行中止而不是暂停。
I'm finding a way pausing program execution by code on Xcode
As an example, I can stop execution with abort()
C function. This pops Xcode debugger up.
However, this exits program completely, so I'm finding a way to pause execution. So I can resume execution after checking execution states.
This is required for handling light-weight errors. I tried pause()
C function, but it doesn't work. The execution aborted instead of pausing.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您希望能够在出现错误时中断特定函数,请定义如下函数:
每当您想要进入调试器时,调用
BREAK_HERE_Eonil()
。在 Xcode 中的BREAK_HERE_Eonil()
上设置断点。现在,在调试器下运行。每当你点击这个函数时,你就会进入调试器。您也许还可以使用旧的 Debugger() 调用; Xcode 在“运行”菜单下有一个选项“在 Debugger()/DebugStr() 上停止”。
您还可以在调试器下运行应用程序,并在想要中断时点击调试器窗口中的大暂停按钮。
If you want to be able to break on a specific function whenever there's an error, then define a function like so:
Call
BREAK_HERE_Eonil()
whenever you would like to enter the debugger. Set a breakpoint onBREAK_HERE_Eonil()
in Xcode. Now, run under the debugger. Whenever you hit this function, you'll break into the debugger.You might also be able to use the old
Debugger()
call; Xcode has an option under the Run menu to "Stop on Debugger()/DebugStr()".You can also just run your app under the debugger and hit the big pause button in the debugger window whenever you want to break in.
我在 iOS 编程中经常使用的另一种方法是在 if 语句中包含断点。像这样:
这样我就可以在循环和其他经常调用而无法设置无条件断点的地方有条件地调用断点。
Another method I often use in iOS programming is to include a breakpoint in an if statement. Like so:
That way I can conditionally call breakpoints in loops and other places that get called too often to have an unconditional breakpoint.