开发者社区 问答 正文

使用HttpDNS服务时而有崩溃现象

目前使用HttpDNS服务时而有崩溃现象,崩溃日志为:

Application received signal SIGSEGV(null)
((0   CoreFoundation                      0x000000018e746ff0 <redacted> + 148
1   libobjc.A.dylib                     0x000000018d1a8538 objc_exception_throw + 56
2   CoreFoundation                      0x000000018e746f20 <redacted> + 0
3   CustomerApp123                      0x1009da438 _ZN21CConfirmIDCardCorners13CompareBottomERK7tagRECTS2_ + 1767112
4   libsystem_platform.dylib            0x000000018d80530c _sigtramp + 36
5   CFNetwork                           0x000000018efa032c <redacted> + 304
6   CFNetwork                           0x000000018ed6662c <redacted> + 128
7   CFNetwork                           0x000000018ed4ff38 <redacted> + 180
8   CustomerApp123                      0x1003f7b94 CustomerApp123 + 4160404
9   CustomerApp123                      0x1003f78fc CustomerApp123 + 4159740
10  CustomerApp123                      0x1003f5430 CustomerApp123 + 4150320
11  Foundation                          0x000000018f215804 <redacted> + 16
12  Foundation                          0x000000018f15a760 <redacted> + 96
13  Foundation                          0x000000018f14ab18 <redacted> + 612
14  Foundation                          0x000000018f217ba0 <redacted> + 228
15  libdispatch.dylib                   0x000000018d5fe9a0 <redacted> + 16
16  libdispatch.dylib                   0x000000018d60cad4 <redacted> + 928
17  libdispatch.dylib                   0x000000018d6022cc <redacted> + 884
18  libdispatch.dylib                   0x000000018d60ea50 <redacted> + 540
19  libdispatch.dylib                   0x000000018d60e7d0 <redacted> + 124
20  libsystem_pthread.dylib             0x000000018d8071d0 _pthread_wqthread + 1096
21  libsystem_pthread.dylib             0x000000018d806d7c start_wqthread + 4
)





用DSYMTools定位到:
-[HttpdnsRequest sendHTTPSRequest:error:activatedServerIPIndex:] (in CustomerApp123) + 572

请问是否能看下可能出现的问题?







展开
收起
星星之影 2017-05-27 17:11:58 2781 分享 版权
阿里云 AI 助理回答

根据您提供的崩溃日志和DSYMTools定位信息,问题似乎出在HttpdnsRequest sendHTTPSRequest:error:activatedServerIPIndex:这个方法上。这表明您的应用在尝试通过HTTPDNS服务发送HTTPS请求时遇到了问题,并导致了崩溃。具体错误可能是由于多种原因造成的,以下是一些可能的故障点和解决思路:

  1. 内存管理问题:SIGSEGV信号通常与访问了无效的内存地址有关。检查CConfirmIDCardCorners::CompareBottom方法(崩溃堆栈中的第3行),看是否有数组越界、野指针或未初始化变量的使用情况。

  2. 网络请求异常处理:确保sendHTTPSRequest:error:activatedServerIPIndex:方法中对网络请求的错误处理逻辑是健壮的,包括但不限于超时、服务器无响应、证书验证失败等情况。

  3. HTTPDNS配置与使用

    • 确认使用的阿里云HTTPDNS SDK版本是否为最新,旧版本可能存在已知问题。
    • 检查HTTPDNS的配置是否正确,比如域名解析策略、超时设置等。
    • 验证激活的Server IP索引(activatedServerIPIndex)是否有效,确保它没有超出实际可用服务器列表的范围。
  4. 线程安全问题:崩溃发生在多线程环境下,确保所有对共享资源的操作都是线程安全的,避免数据竞争和竞态条件。

  5. 系统库或依赖冲突:CFNetwork相关的崩溃提示可能意味着底层网络库的问题或者与系统的兼容性问题。确认您的应用及所依赖的第三方库与当前运行的iOS系统版本兼容。

  6. 资源限制:检查应用是否因打开的文件描述符过多、内存占用过高或其他系统资源限制而触发异常。

建议采取的行动步骤: - 仔细审查sendHTTPSRequest:error:activatedServerIPIndex:方法的实现细节,特别是内存操作和网络请求处理部分。 - 更新HTTPDNS SDK到最新版本。 - 在调用该方法前后增加日志记录,以便更详细地追踪问题发生的具体上下文。 - 使用Xcode的内存分析工具(Instruments)检查是否存在内存泄漏或不当的内存访问。 - 如果问题持续存在,考虑联系阿里云技术支持提供更详细的日志和环境信息,以便获得针对性的帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址: