gpt4 book ai didi

ios - 我从哪里开始在 main.m 第 15 行中寻找 SIGSEGV 的原因

转载 作者:行者123 更新时间:2023-11-29 13:04:12 25 4
gpt4 key购买 nike

我在 App Store 中有一个应用程序出现以下错误消息:

SIGSEGV in main.m line 15

int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); <-- line 15
}
}

相关用户的详细信息是:

enter image description here

这是堆栈跟踪:

0 libobjc.A.dylib 0x3b446b26 0x3b443000 + 15142
1 UIKit 0x3376c03b 0x33549000 + 2240571
2 UIKit 0x3376bf43 0x33549000 + 2240323
3 UIKit 0x3367132b 0x33549000 + 1213227
4 UIKit 0x33724253 0x33549000 + 1946195
5 UIKit 0x335d4971 0x33549000 + 571761
6 UIKit 0x3354c473 0x33549000 + 13427
7 CoreFoundation 0x30dae1d5 <redacted> + 20
8 CoreFoundation 0x30dabb79 <redacted> + 284
9 CoreFoundation 0x30dabebb <redacted> + 730
10 CoreFoundation 0x30d16ce7 CFRunLoopRunSpecific + 522
11 CoreFoundation 0x30d16acb CFRunLoopRunInMode + 106
12 GraphicsServices 0x359e4283 GSEventRunModal + 138
13 UIKit 0x335b8a41 UIApplicationMain + 1136
14 SalonBook 0x0006c0f5 main (main.m:15) + 28917

关于从哪里开始寻找此错误的原因的任何想法?

最佳答案

您的应用正在使用 segmentation fault ,或内存访问冲突。根据我在过去一年左右从自己的设备上看到的丢弃日志,42 MB 的内存占用量听起来很大。我对你的应用程序一无所知,它在内存中有什么样的资源等等。你的应用程序可能存在一系列内存问题:

  • 简单的无法满足的内存过度需求(没有swap文件)
  • 保留循环造成不必要的内存压力
  • 无效的指针访问

我建议您通过应用实现的目标:

  • 实现分析器报告的零警告
  • 确定在什么情况下内存分配会达到那么高
  • 识别并消除保留周期
  • 识别内存中不必要的资源并清除它们
  • 识别超出应有规模的资源并对其进行返工

调查此问题的起点是通过Product > Analyze 菜单项运行Xcode 的分析器。这将检测并报告内存访问错误的已知原因。如果您没有使用自动引用计数,它还会报告潜在的内存泄漏。在撰写本文时,我认为分析器对保留周期没有帮助。

接下来,只需在设备上使用您的应用程序,通过 Xcode 运行,然后观察内存占用情况。当您在应用程序中导航和/或使用更多功能时,内存使用量是否只是增长而从未减少?确定导致内存占用量大幅增加的任何情况。同样,我不了解您的应用,因此目前我不知道如何提供更具体的指导。

如果您使用 Apple 的 Instruments 中的分配工具,则保留周期会很明显。应用程序。您可以通过 Product > Profile 菜单项运行它。 Instruments 允许您按对象类型、大小、计数等浏览分配,并允许您查看单个对象的调用堆栈,以便了解它们是如何创建的。您可能会发现一些分配突然出现在您面前,例如“这张 4 MB 的图片是什么?”或者“为什么应用程序有 8000 个 NSArray 对象?” Instruments 在这里帮助完成的另一项任务是提供生成。 “标记生成”按钮可让您在工作流程中的关键点放置标记。在执行工作流之前和之后,您将看到该时间跨度内的内存增长量,并且您可以深入调用堆栈以查看分配的内容以及分配方式。

如果您对此有任何疑问,请发表评论,我会尽快跟进。

关于ios - 我从哪里开始在 main.m 第 15 行中寻找 SIGSEGV 的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19017028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com