“在踩时从方法返回吗?

问题描述 投票:12回答:3

我想退出当前要逐步执行的方法。

-(void)helloWorld {
    NSLog(@"Hello");
    // I would like to return here, so that "World" isn't printed.
    NSLog(@"World");  
}

我尝试了以下方法,但是没有运气。

(lldb) expr return
<no result>

lldb是否可能?

objective-c xcode lldb
3个回答
7
投票

当您使用Xcode进行调试时,并且程序在断点处暂停时,您可以将绿色的小箭头拖动到函数中的任何其他行。例如。在以下代码中:

“

如果我想跳过NSLog(@"B"),我只需将绿色箭头从第20行拖到第23行,这意味着该函数将简单地从我想要的任何位置“返回”。


18
投票

不幸的是,在Xcode 4.5.x中,无法强制从函数中尽早返回。在当前的lldb源中,位于http://lldb.llvm.org/处的是新添加的命令thread return,该命令可以执行您想要的操作-它具有指定函数返回值的功能。不过,直到下一个主要版本,它才会在Xcode中使用。


0
投票

我刚刚在下面提到的行上添加了一个断点:

var computed: Bool { 
   return device.time == 10 // added breakpoint here
}

并出现以下错误:

错误:从线程1的帧0返回时出错,我们仅支持当前设置简单的整数和浮点返回类型。

似乎仅适用于这两种类型

© www.soinside.com 2019 - 2024. All rights reserved.