- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直看到应用程序用户以崩溃报告形式发送的相同消息。很明显,一个对象被过度释放,但我无法复制它,并且我正在寻找有关追踪其来源的提示。
崩溃报告中的相关部分显示了这一点:
Application Specific Information:
objc_msgSend() selector name: release
Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x90892edb objc_msgSend + 27
1 com.apple.CoreFoundation 0x95ec5a40 __CFBasicHashStandardCallback + 384
2 com.apple.CoreFoundation 0x95ec564e __CFBasicHashDrain + 478
3 com.apple.CoreFoundation 0x95ead6f1 _CFRelease + 353
4 com.apple.CoreFoundation 0x95eda0ed _CFAutoreleasePoolPop + 253
5 com.apple.Foundation 0x97ecedd6 NSPopAutoreleasePool + 76
6 com.apple.Foundation 0x97ececfe -[NSAutoreleasePool drain] + 130
7 com.apple.AppKit 0x9211255f -[NSApplication run] + 1013
8 com.apple.AppKit 0x9210a535 NSApplicationMain + 574
9 TheApp 0x000020a6 start + 54
我使用过僵尸和泄漏,但没有看到任何东西。我浏览了代码,但看不到它。
下一步是什么?我可以从这些信息中辨别出其来源的任何提示吗?
这个几乎完全相同的崩溃报告重复出现是否意味着它是被过度释放的同一个对象,或者因为它引用了自动释放池意味着它可能是任何对象?
对 _CFRelease 的引用是否意味着它是一个被过度释放的 Core Foundation 对象?
最佳答案
I've used zombies and leaks, but haven't seen anything there.
这很奇怪。
What's the next step?
过度释放崩溃的下一步通常是使用 Instruments 的 Zombies 模板运行应用程序。第二条发布消息将在 Instruments 的时间线图表中升起一个标志,您可以单击一个按钮来了解更多信息。
还可以尝试使用 Xcode 3.2 或更高版本中的静态分析器构建您的应用程序。
Does the fact that this nearly exact same crash report is coming in repeatedly mean that it's the same object that's being over released, or because this is referring to the autorelease pool mean it could be any object?
它可以是任何对象,但几乎可以肯定每次都是同一个对象,除非您在整个代码库中进行了错误的内存管理。
Does the reference to _CFRelease mean it's a Core Foundation object that's being over released?
没有。
关于objective-c - 寻找过度释放的根源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2550741/
试图从疯狂复杂的ant构建迁移到gradle的持续传奇中-我们有一些我正在生成的“javahelp”资源jar文件。它们不包含任何类。我需要将创建这些资源 jar 的项目的输出添加到 war 的根源(
我是一名优秀的程序员,十分优秀!