2013-03-07 2 views
3

BossSense를 사용하여 iOS 응용 프로그램의 충돌을 추적하고 있습니다. 최근에 라이브 사용에서 스택 추적을 나타내는 문제를 발견했습니다.Symbolicate iOS 충돌 로그가없는 스택 추적

문제는 애플이 iOS 4.3에서 주소 공간 랜덤 화를 도입했기 때문에 관심있는 스택 주소 만이 충돌을 일으키는 정확한 방법을 검색하는 데 사용할 수 없다는 것이다.

은 현재 내가

symbol address = slide + stack address - load address 

계산하여 정확한 주소를 얻기 위해 노력하고있어 나는 이미 슬라이드 및 스택 주소를 가지고 있지만, 내 부하 주소를 이해하는 유일한 내가 통해 얻을 수없는 충돌 보고서에서 찾을 수 있습니다 BugSense. 스택 추적이 주소를 symbolicate하거나 각각의로드 주소를 얻기 위해 또 다른 방법이 있나요

0 CoreFoundation 0x342723e7 + 162 
1 libobjc.A.dylib 0x3bf63963 objc_exception_throw + 30 
2 CoreFoundation 0x3427229d + 0 
3 Foundation 0x34b48fa3 + 90 
4 UIKit 0x360b5bd9 + 7640 
5 MyApp 0x000c6e99 0xb3000 + 81561 
6 UIKit 0x3623c2ff 0x3607e000 + 1827583 
7 UIKit 0x361b8737 0x3607e000 + 1287991 
8 UIKit 0x361a9869 0x3607e000 + 1226857 
9 UIKit 0x361a97ad 0x3607e000 + 1226669 
10 CoreFoundation 0x34247941 0x341b0000 + 620865 
11 CoreFoundation 0x34245c39 0x341b0000 + 613433 
12 CoreFoundation 0x34245f1d 0x341b0000 + 614173 
13 CoreFoundation 0x341b923d CFRunLoopRunSpecific + 356 
14 CoreFoundation 0x341b90c9 CFRunLoopRunInMode + 104 
15 GraphicsServices 0x37d9733b GSEventRunModal + 74 
16 UIKit 0x360d52b9 UIApplicationMain + 1120 
17 MyApp 0x000b61bf 0xb3000 + 12735 
18 MyApp 0x000b4a08 0xb3000 + 6664 

처럼 보인다?

+0

[Symbolicating 아이폰 응용 프로그램 충돌 보고서]의 중복 가능성 (http://stackoverflow.com/questions/1460892/symbolicating-iphone-app-crash-reports) –

+0

@Benoit를 문제는 sven.b가 방금 게시 한 답변에 대해 논평 할만한 평판이 충분하지 않다는 것입니다. 그리고 sven.b는 해당 스레드에서 주어진 대답이 더 이상 유효하지 않습니다, iOS에 추가 된 공간 무작위 화가 필요하다고 주장합니다. 4.3. –

+0

감사합니다 Benoit, 언급 한 게시물이 오래되었습니다 .atos 명령은 정확하지만 위에서 설명한대로 심볼 주소를 더 이상 스택 추적에서 가져올 수 없습니다. –

답변

1

load address0xb3000입니다.

다행히도 앱 바이너리에서 기호가 제거되었습니다. 그렇지 않으면 표시되지 않습니다.

또한 예외가 발생하여 충돌이 발생했기 때문에 충돌 보고서는 실제 예외가 발생한 위치와 실제 예외 이유를 보여주는 Last Exception Backtrace을 제공해야합니다. 게시 된 스택 추적의 5 번 줄에있는 호출을 통해 많은 정보가 제공되지는 않습니다. 당신은 외모를 받고 충돌 정보가 매우 제한 :(

+0

예. 그러나 어쨌든 고마워. 귀하의 대답은 정확합니다. –