我想退出我正在逐步执行的当前方法。
-(void)helloWorld {
NSLog(@"Hello");
// I would like to return here, so that "World" isn't printed.
NSLog(@"World");
}
我尝试了以下方法,但没有运气。
(lldb) expr return
<no result>
lldb可以做到这一点吗?
我想退出我正在逐步执行的当前方法。
-(void)helloWorld {
NSLog(@"Hello");
// I would like to return here, so that "World" isn't printed.
NSLog(@"World");
}
我尝试了以下方法,但没有运气。
(lldb) expr return
<no result>
lldb可以做到这一点吗?
不幸的是,在 Xcode 4.5.x 中,没有办法强制从函数中提前返回。在http://lldb.llvm.org/的当前 lldb 源代码中,有一个新添加的命令 ,thread return
它可以执行您想要的操作 - 它包括指定函数返回值的能力。不过,这要等到下一个主要版本才会出现在 Xcode 中。
当您使用 Xcode 进行调试并且程序在断点处暂停时,您可以将绿色小箭头拖动到函数中的任何其他行。例如在以下代码中:
如果我想跳过NSLog(@"B")
,我可以简单地将绿色箭头从第 20 行拖到第 23 行,这意味着该函数将简单地从我想要的任何地方“返回”。
我刚刚在下面提到的行添加了一个断点:
var computed: Bool {
return device.time == 10 // added breakpoint here
}
并得到以下错误:
错误:从线程1的第0帧返回错误:我们目前只支持设置简单的整数和浮点返回类型..
似乎只适用于这两种类型