동맹 붕괴 통계에 따라 문제를 찾는 방법
충돌 레코드:
-[__NSArrayM overRect]: unrecognized selector sent to instance 0x1742528a0
(null)
((
0 CoreFoundation 0x00000001888aaff0 + 148
1 libobjc.A.dylib 0x000000018730c538 objc_exception_throw + 56
2 CoreFoundation 0x00000001888b1ef4 + 0
3 CoreFoundation 0x00000001888aef4c + 916
4 CoreFoundation 0x00000001887aad2c _CF_forwarding_prep_0 + 92
5 Butler 0x100036f0c Butler + 225036
6 AVFoundation 0x00000001902f3310 + 308
7 AVFoundation 0x00000001902f314c + 100
8 CoreMedia 0x000000018b1c8f68 + 260
9 CoreMedia 0x000000018b1e7e9c + 224
10 libdispatch.dylib 0x00000001877629a0 + 16
11 libdispatch.dylib 0x000000018776f604 + 448
12 libdispatch.dylib 0x000000018777bc1c + 204
13 libdispatch.dylib 0x00000001877648a0 + 804
14 libdispatch.dylib 0x0000000187770964 + 560
15 libdispatch.dylib 0x00000001877662cc + 884
16 libdispatch.dylib 0x0000000187770964 + 560
17 libdispatch.dylib 0x00000001877662cc + 884
18 libdispatch.dylib 0x0000000187771950 + 256
19 libdispatch.dylib 0x0000000187778170 + 760
20 libsystem_pthread.dylib 0x000000018796b08c _pthread_wqthread + 772
21 libsystem_pthread.dylib 0x000000018796ad7c start_wqthread + 4
)
dSYM UUID: 7170B52B-0F44-32E0-B89A-C900C55AB3BE
CPU Type: arm64
Slide Address: 0x0000000100000000
Binary Image: Butler
Base Address: 0x00000001000cc000
이와 같은 붕괴 기록은 반드시 나타나는 것이 아니기 때문에 일시적으로 붕괴된 곳을 찾기 어렵다. 다음은 붕괴된 코드를 한 걸음 한 걸음 찾아보자.
첫 번째 단계: 코드를 업로드할 때 사용했던 DYSM 파일을 찾습니다. 이 파일은 보통 있습니다.xcarchive 파일에서오른쪽 XXX.xcarchive 파일을 터미널 도구로 엽니다.2단계: XXX로 들어갑니다.xcarchive 파일의 DWARF 디렉토리(아래는 디렉토리)
~/Butler.xcarchive/dSYMs/XXX.app.dSYM/Contents/Resources/DWARF
세 번째 단계: 그리고 다음 명령을 집행한다.이 메모리 주소가 역컴파일된 원본 줄을 볼 수 있습니다.
// YYYY CPUType( arm64, ),XXX Binary Image ,
atos -arch YYYY -o XXX 0x1153b9
실행 결과:
➜ DWARF atos -arch arm64 -o Butler 0x100036f0c
-[XJHPlateIDScanViewController captureOutput:didOutputSampleBuffer:fromConnection:] (in Butler) (XJHPlateIDScanViewController.mm:154)
이렇게 하면 붕괴된 코드를 볼 수 있다!!!
마지막으로 주의: 만약에 위치가 UmengSignalHandler라면 이것은 오류가 아니라 crash를 포착하는 방법입니다. 그 자체가 crash를 일으키지 않습니다. crash가 발생할 때 포착하고 crash log의 UmengSignalHandler 부분을 무시하면 됩니다.
참조 링크:http://blog.csdn.net/smking/article/details/9342899
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.