【发布时间】:2010-10-23 07:51:57
【问题描述】:
我正在寻找一种通过 Xcode 上的代码暂停程序执行的方法
例如,我可以使用abort() C 函数停止执行。这会弹出 Xcode 调试器。
但是,这会完全退出程序,所以我正在寻找一种方法来暂停执行。所以我可以在检查执行状态后恢复执行。
这是处理轻量级错误所必需的。我尝试了pause() C 函数,但它不起作用。执行中止而不是暂停。
【问题讨论】:
我正在寻找一种通过 Xcode 上的代码暂停程序执行的方法
例如,我可以使用abort() C 函数停止执行。这会弹出 Xcode 调试器。
但是,这会完全退出程序,所以我正在寻找一种方法来暂停执行。所以我可以在检查执行状态后恢复执行。
这是处理轻量级错误所必需的。我尝试了pause() C 函数,但它不起作用。执行中止而不是暂停。
【问题讨论】:
如果您希望能够在出现错误时中断特定函数,请定义如下函数:
void BREAK_HERE_Eonil(void) {
NSLog(@"Set a breakpoint on BREAK_HERE_Eonil to debug.\n");
}
只要您想进入调试器,请致电BREAK_HERE_Eonil()。在 Xcode 中的 BREAK_HERE_Eonil() 上设置断点。现在,在调试器下运行。每当您点击此功能时,您都会进入调试器。
您也许还可以使用旧的Debugger() 调用; Xcode 在 Run 菜单下有一个“Stop on Debugger()/DebugStr()”选项。
您也可以只在调试器下运行您的应用程序,并在您想要中断时点击调试器窗口中的大暂停按钮。
【讨论】:
我在 iOS 编程中经常使用的另一种方法是在 if 语句中包含断点。像这样:
if (your_condition) {
//put an Xcode breakpoint here
}
这样我可以在循环和其他经常被调用而无法设置无条件断点的地方有条件地调用断点。
【讨论】: