我在乐器中测试了我的应用程序。没有发现泄漏,但应用程序崩溃(不是立即 - 大约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字节”的详细信息时)仅针对一个对象:
# | 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。其他...
答案 0 :(得分:1)
恕我直言,您的首要任务是让您的应用程序运行。通过评论部分代码,尝试找出问题所在;如果应用程序不再崩溃,那么问题就在你刚评论的部分内,如果它仍然崩溃,那么它必须在其他地方。重复这些步骤,直到您修复错误。
运行应用程序后,您就可以开始查找泄漏或提高性能。