我有一个具有复杂逻辑的程序。在不同的地方有很多函数可以改变参数“a”的值。
参数“a”的正确值应该在 0..10 范围内,但有时它会变得大于 80
XCode 是否提供了一些工具,我可以只键入一次表达式“if (a > 10) throws some exception”并找到将参数“a”更改为不正确值的位置?
我有一个具有复杂逻辑的程序。在不同的地方有很多函数可以改变参数“a”的值。
参数“a”的正确值应该在 0..10 范围内,但有时它会变得大于 80
XCode 是否提供了一些工具,我可以只键入一次表达式“if (a > 10) throws some exception”并找到将参数“a”更改为不正确值的位置?
是a
某物的属性吗?如果是,您可以覆盖 setter 方法并检查值:
- (void)setA:(int)newA {
if (newA > 10) {
NSLog(@"Invalid value");
}
a = newA;
}
您可以在 NSLog 行上设置断点,每当设置了无效值时,它就会停在那里,您可以检查调用跟踪。
我不确定如何设置它以便在更改的值时抛出异常a
而不在更改值的地方调用它a
,但是你可以NSException
用这个来调用自己:
if (a > 10) {
[NSException raise:@"Invalid foo value" format:@"foo of %i is invalid", a];
}