跟踪NSMutableArray“请求大容量”

时间:2012-02-12 22:36:54

标签: xcode macos cocoa debugging

当我的应用启动时,我开始在日志中收到消息:

*** -[NSMutableArray initWithCapacity:]: Request for large capacity 9223372036854775808

我尝试为-[NSMutableArray initWithCapacity:]设置一个符号断点,但它不会触发。我怎么能找出导致这个问题的电话?

我在Lion上的Xcode 4中,都完全更新了。

更新

我还尝试在-[NSArray initWithCapacity:]上设置符号断点,但不会触发。

我碰巧偶然发现造成这种情况的代码行,这是(无意中)设置宽度为无穷大的帧大小。我保持这篇文章的开放,因为我希望有一种更好的方法来找到造成这种情况的代码行。我仍然可以测试建议,因为我知道如何重现该消息。

2 个答案:

答案 0 :(得分:1)

尝试在CFLog()上设置断点,看看是否可以提出有用的回溯(通过调用CFLog()来发出该消息)。只要没有其他日志记录正在进行,这应该可行。

答案 1 :(得分:0)

初始化数组时可能由负值引起。请检查“[NSArray arrayWithCapacity:num]”和“[[NSArray alloc] initWithCapacity:num]”

相关问题