[英]Xcode iOS Instruments:
我有一个我的应用程序的构建,只有在运行仪器时崩溃。 repro案例是100%,但在没有工具的情况下运行发布版本时或运行调试版本时不会崩溃。 当Instruments运行发布版本时,我可以逐步完成并确切地知道崩溃的内容。 当构建崩溃时,它会静默地执行,没有我能找到的输出。 它只会在仪器中运行的分配中崩溃。
我无法追踪正在发生的事情,是否有一种我不知道的仪器模式会捕获此错误并向我报告具体情况?
我在Stackoverflow上读过类似的问题,但这些问题对我没有帮助。
崩溃就像一个僵尸,但只有在仪器运行时才会发生,并且“启用僵尸检测”并不表示僵尸。
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000008
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
CoreSimulator 209.19 - Device: iPad Air 2 - Runtime: iOS 9.3 (13E230) - DeviceType: iPad Air 2
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libswiftCore.dylib 0x0000000109f03dc0 swift_retainCount + 0
1 liboainject.dylib 0x000000010335d223 oa_swift_tryRetain + 297
2 libswiftCore.dylib 0x0000000109f14d69 -[SwiftObject retainWeakReference] + 9
3 libobjc.A.dylib 0x00000001098b8b6b weak_read_no_lock + 89
4 libobjc.A.dylib 0x00000001098b94c6 objc_loadWeakRetained + 104
5 libobjc.A.dylib 0x00000001098b94f2 objc_loadWeak + 15
6 com.apple.Foundation 0x0000000108da975c empty + 35
7 com.apple.Foundation 0x0000000108da96fa -[NSConcreteHashTable dealloc] + 46
8 libobjc.A.dylib 0x00000001098b9afe objc_object::sidetable_release(bool) + 232
9 liboainject.dylib 0x000000010335c6e9 ___swapMethods_block_invoke_4 + 272 ````
我在Xcode 9上使用iOS 10模拟器发生了同样的事情,默认是iOS 11模拟器,但我也想在iOS 10上进行测试。
到目前为止,使用iOS 10模拟器时,任何仪器操作都会导致我的应用程序崩溃,几乎与此处显示的相同。
我尝试了很多东西,最后我认为Xcode 9 Instrument可能与旧的模拟器SDK不兼容。
所以我切换到iOS11模拟器,这是Xcode 9上的默认模拟器,它解决了我的仪器问题。
我现在能够在我的应用程序上使用仪器进行内存调查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.