gpt4 book ai didi

objective-c - si_user_byuid/getpwuid 中的内存泄漏源自 iOS 中的 CPSharedResourcesDirectory

转载 作者:行者123 更新时间:2023-11-28 22:54:14 29 4
gpt4 key购买 nike

我正处于几周后将上线的产品的优化/分析阶段,我很惊讶地发现一些泄漏并非(我相信)源 self 的代码。其中之一是 iOS 5.1.1 中存在的 strdup/malloc 泄漏,对此我只能等待更新。然而今天我发现了一个新的,我目前正试图查明它泄漏的位置和方式。仪器报告:

     Bytes Used         # Leaks Symbol Name
16 Bytes 100.0% 1 start
16 Bytes 100.0% 1 main
16 Bytes 100.0% 1 UIApplicationMain
16 Bytes 100.0% 1 -[UIApplication _run]
16 Bytes 100.0% 1 _UIAccessibilityInitialize
16 Bytes 100.0% 1 -[UIApplication(UIKitApplicationAccessibility) _accessibilityInit]
16 Bytes 100.0% 1 -[UIApplication(UIKitApplicationAccessibility) _updateAccessibilitySettingsLoader]
16 Bytes 100.0% 1 _AXSAccessibilityEnabled
16 Bytes 100.0% 1 _getBooleanPreference
16 Bytes 100.0% 1 CPCopySharedResourcesPreferencesDomainForDomain
16 Bytes 100.0% 1 CPSharedResourcesDirectory
16 Bytes 100.0% 1 getpwuid
16 Bytes 100.0% 1 si_user_byuid
16 Bytes 100.0% 1 search_item_bynumber
16 Bytes 100.0% 1 si_user_byuid
16 Bytes 100.0% 1 _fsi_get_user
16 Bytes 100.0% 1 0x119048
16 Bytes 100.0% 1 0x1180e4
16 Bytes 100.0% 1 malloc

通过我所做的一些挖掘,我发现 getpwuid 是由 <pwd.h> 导入的 unix/linux 函数.双击 si_user_byuid在 Instruments 中出现“No Source”标志,然后双击 getpwuid想出 arm7 组件(我很抱歉地通知你我不熟悉):

+0x0    push                           {r4, r5, r7, lr}
+0x2 add r7, sp, #8
+0x4 movw.w r5, #18506 ; 0x484a
+0x8 movt.w r5, #3265 ; 0xcc1
+0xc mov r4, r0
+0xe add r5, r15
+0x10 ldr r0, [r5]
+0x12 cbnz getpwuid
+0x14 movw.w r0, #47748 ; 0xba84
+0x18 movt.w r0, #1 ; 0x1
+0x1c add r0, r15
+0x1e bl.w getpwuid
+0x22 str r0, [r5]
+0x24 mov r1, r4
+0x26 bl.w getpwuid
+0x2a mov r4, r0
+0x2c movs r0, #201 ; 0xc9
+0x2e mov r1, r4
+0x30 bl.w getpwuid
+0x34 movs r0, #0 ; 0x0
+0x36 cmp r4, #0 ; 0x0
+0x38 it ne
+0x3a addne.w r0, r4, #28 ; 0x1c
+0x3e pop {r4, r5, r7, pc}

所以:

  • 有人以前见过这个吗?
  • 会不会是假阳性?
  • 会不会仅限于 iOS 5.1.1?

最佳答案

这是 the whole thing 的来源从 getpwuid 开始。快速看一下,似乎正在进行一些缓存,所以除非泄漏很大,否则我不会太担心。

关于objective-c - si_user_byuid/getpwuid 中的内存泄漏源自 iOS 中的 CPSharedResourcesDirectory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11160178/

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