&引用;执行被中断,原因:断点;尝试从Xcode控制台打印内容时

&引用;执行被中断,原因:断点;尝试从Xcode控制台打印内容时,xcode,llvm,Xcode,Llvm,我暂停了我的应用程序,并试图在控制台上打印一些东西。(例如,pofoo())。这样做之后,我得到了以下信息: 错误:执行被中断,原因:断点2.1。 进程已返回到执行前的状态 但是,该函数中没有断点。为什么它向我显示这个错误而不执行这个函数 这是在Xcode 4.6上。事实证明,所讨论的断点(2.1)是所有异常断点。我调用的方法引发了一个异常,这导致命中“所有异常”断点采购订单将在到达断点后停止执行(有关更多信息,请参阅) 如果禁用“所有异常”断点并再次运行它,则更清楚的是存在异常: error:

我暂停了我的应用程序,并试图在控制台上打印一些东西。(例如,
pofoo()
)。这样做之后,我得到了以下信息:

错误:执行被中断,原因:断点2.1。
进程已返回到执行前的状态

但是,该函数中没有断点。为什么它向我显示这个错误而不执行这个函数


这是在Xcode 4.6上。

事实证明,所讨论的断点(2.1)是所有异常断点。我调用的方法引发了一个异常,这导致命中“所有异常”断点<代码>采购订单将在到达断点后停止执行(有关更多信息,请参阅)

如果禁用“所有异常”断点并再次运行它,则更清楚的是存在异常:

error: Execution was interrupted, reason: signal SIGSTOP.
The process has been returned to the state before execution.
如果始终启用“所有异常”断点,则消息可能不明确:它到达断点是因为在执行路径的某个位置确实存在断点,还是引发了异常

另一种解决方案(不需要禁用所有异常断点)是使用
expr
而不是
po
(有关以下标志的说明,请参阅上面的链接)

运行
expr-u0-o--foo()
会产生以下输出:

error: Execution was interrupted, reason: breakpoint 2.1 -2.1.
The process has been left at the point where it was interrupted.  
* thread #1: tid = [...] libobjc.A.dylib`objc_exception_throw, stop reason = breakpoint 2.1 -2.1  
    frame #0: [...] libobjc.A.dylib`objc_exception_throw
objc\u exception\u throw
字符串提示