我在 Instruments 中测试了我的应用程序。未发现泄漏,但应用程序崩溃(不是立即 - 大约 20 分钟后 [取决于用户的活动] 工作)。我查看了分配。它报告:
Category | Live Bytes | Count Live | # Living | # Transitory | Overall Bytes | # Allocations (Net / Overall)
Malloc 16 Bytes | 235088 | 14693 | 0 | 235088 | 14693 | 1.00
所有记录(当我查看“Malloc 16 Bytes”的详细信息时)仅针对一个对象:
# | Object Address | Category | Creation Time | Live | Size | Responsible Library | Responsible Caller
0 | 0x104b50 | 817461248 | • | dyld | _dyld_start
(...和 14693 条具有相同字段数据的记录,当然,# 除外)。
堆栈跟踪:
0 CoreFoundation __CFAllocatorSystemAllocate
1 CoreFoundation CFAllocatorAllocate
2 CoreFoundation __CFGetConverter
3 CoreFoundation CFStringEncodingGetConverter
4 CoreFoundation CFStringGetSystemEncoding
5 CoreFoundation __CFStringInitializeSystemEncoding
6 CoreFoundation __CFInitialize
7 dyld ImageLoaderMachO::doImageInit(ImageLoader::LinkContext const&)
8 dyld ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&)
9 dyld ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&)
10 dyld ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&)
11 dyld ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&)
12 dyld dyld::initializeMainExecutable()
13 dyld dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**)
14 dyld dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*)
15 dyld _dyld_start
我不能在这里粘贴所有代码(应用程序不是几行)。但是,请给我一些建议 - 在哪里搜索内存泄漏或smth。别的...