【发布时间】:2011-08-04 08:41:42
【问题描述】:
我一调用 [[ASIHTTPRequest alloc] initWithURL:url]; 我的应用程序就崩溃了在我的 iPod Touch 1G 上。在 iOS 4.x 上没有问题。
我看到的错误是 Error Domain=ASIHTTPRequestErrorDomain Code=10 UserInfo=0x368790 "NSRangeException"
我从我实施的崩溃管理系统中得到的回溯是
backtrace: (
"0 MayasDUp 0x0007f21b -[SWCrashManager backtrace] + 18",
"1 MayasDUp 0x0007ece1 sighandler + 144",
"2 libSystem.B.dylib 0x3049e7eb _sigtramp + 26",
"3 MayasDUp 0x0005128b -[ASIHTTPRequest buildPostBody] + 850"
)
我什至单独放置了 [[ASIHTTPRequest alloc] initWithURL:url] 调用,没有执行任何其他操作,例如设置 post 变量和启动连接。崩溃仍然发生。
我已经在 ASIHTTPRequest 中放置了断点并记录了 NSLog,但没有任何有用的结果。
有人遇到过类似的问题吗?
【问题讨论】:
-
你能在调试器中运行它并准确地告诉我们它在 buildPostBody 中的哪一行崩溃了吗?
-
buildPostBody 方法已完全执行。我在方法的最后放置了一个 NSLog 调用和一个断点,并且执行正常到达该点。该应用程序在线程 3 上崩溃,它只显示 0 ???> 节点以获取更多详细信息。崩溃似乎是在一小段延迟后发生的,无法正常显示。
-
您是否在启用 NSZombies 的情况下运行过?
-
由于某种原因,我无法让 NSZombie 出现......但在深入挖掘后发现问题来自 [NSArray objectAtIndex:] 调用,它试图访问 [6 ] 但长度为 4。这解释了我得到的 NSRangeException 错误。我在 ASIHTTPRequest 类中的每个 objectAtIndex 调用之前都放置了 NSLogs,但是没有数组访问这样的索引。
-
尝试在 objectAtIndex 上设置断点?
标签: ios crash asihttprequest ios-3.x