2013-10-23 5 views
1

나는 symbolicate using information in the binary file이라는 크래시 로그 파일을 가지고 있습니다. I verified that crash log is related to this particular binary. 심지어 C# 수준의 스택 추적을 얻을 수 있습니다.iOS 크래시 로그 스택 추적의 일부가 감지되지 않습니다.

$atos -arch armv7 -o 'dev.app'/'dev' 0x00156ac0 
m_Action_Spin_MakeChips_Cell_double_double_ulong_System_Collections_Hashtable_System_Collections_Generic_List_1_Chip (in dev) + 1316 

그러나 스택 추적은 의미가 없습니다. 이 메소드는 서로 호출하지 않으며 관련이 없습니다. 일부 중간 스택 추적 프레임이 누락 되었습니까? 그런 식으로 내 코드의 컨텍스트에서 의미가있을 수 있습니다. 내가있어이 충돌 로그를 아주 이상한 것을 눈치 챘을

업데이트. 테스터는 두 가지 테스트에서 동일한 시나리오를 설명했습니다. 그 중 하나는 다음과 같습니다

0 dev        0x00cbff6c 0x7c000 + 12861292 
1 dev        0x00bd4810 0x7c000 + 11896848 
2 dev        0x01379838 0x7c000 + 19912760 
3 dev        0x0141ba70 0x7c000 + 20576880 
4 dev        0x0141bbf4 0x7c000 + 20577268 
5 dev        0x0141fe68 0x7c000 + 20594280 
6 dev        0x01421d7c 0x7c000 + 20602236 
7 dev        0x013899cc 0x7c000 + 19978700 
8 dev        0x0138a264 0x7c000 + 19980900 
9 dev        0x013a59e0 0x7c000 + 20093408 
10 dev        0x01379fa4 0x7c000 + 19914660 
11 libsystem_c.dylib    0x3aa5be90 0x3aa23000 + 233104 
12 libsystem_c.dylib    0x3aa272dc 0x3aa23000 + 17116 
13 dev        0x002ea644 0x7c000 + 2549316 
14 dev        0x002ea3ec 0x7c000 + 2548716 
15 dev        0x002e8688 0x7c000 + 2541192 
16 dev        0x002e8688 0x7c000 + 2541192 
17 dev        0x00156ac0 0x7c000 + 895680 
18 dev        0x002e8688 0x7c000 + 2541192 
19 dev        0x0026a248 0x7c000 + 2024008 
20 dev        0x002fa25c 0x7c000 + 2613852 
21 dev        0x002f8f54 0x7c000 + 2608980 
22 dev        0x0114bbac 0x7c000 + 17628076 
23 dev        0x0114b7c4 0x7c000 + 17627076 
24 dev        0x0114b780 0x7c000 + 17627008 
25 dev        0x01140b38 0x7c000 + 17582904 
26 dev        0x01140b64 0x7c000 + 17582948 
27 dev        0x010977ec 0x7c000 + 16889836 
28 dev        0x01097794 0x7c000 + 16889748 
29 dev        0x0111d578 0x7c000 + 17438072 
30 dev        0x00f37954 0x7c000 + 15448404 
31 dev        0x00cc2e94 0x7c000 + 12873364 
32 QuartzCore      0x3454c094 0x34511000 + 241812 
33 QuartzCore      0x3454bfec 0x34511000 + 241644 
34 IOMobileFramebuffer    0x367a3fd4 0x3679f000 + 20436 
35 IOKit       0x33546446 0x33543000 + 13382 
36 CoreFoundation     0x329295d8 0x3289d000 + 574936 
37 CoreFoundation     0x32934170 0x3289d000 + 618864 
38 CoreFoundation     0x32934112 0x3289d000 + 618770 
39 CoreFoundation     0x32932f94 0x3289d000 + 614292 
40 CoreFoundation     0x328a5eb8 0x3289d000 + 36536 
41 CoreFoundation     0x328a5d44 0x3289d000 + 36164 
42 GraphicsServices    0x364582e6 0x36453000 + 21222 
43 UIKit       0x347bb2fc 0x34764000 + 357116 
44 dev        0x00082048 0x7c000 + 24648 
45 dev        0x00081f94 0x7c000 + 24468 

그리고이 같은 다른 :

0 dev        0x00cf7f6c 0xb4000 + 12861292 
1 dev        0x00c0c810 0xb4000 + 11896848 
2 dev        0x013b1838 0xb4000 + 19912760 
3 dev        0x01453a70 0xb4000 + 20576880 
4 dev        0x01453bf4 0xb4000 + 20577268 
5 dev        0x01457e68 0xb4000 + 20594280 
6 dev        0x01459d7c 0xb4000 + 20602236 
7 dev        0x013c19cc 0xb4000 + 19978700 
8 dev        0x013c2264 0xb4000 + 19980900 
9 dev        0x013dd9e0 0xb4000 + 20093408 
10 dev        0x013b1fa4 0xb4000 + 19914660 
11 libsystem_c.dylib    0x3aa5be90 0x3aa23000 + 233104 
12 libsystem_c.dylib    0x3aa272dc 0x3aa23000 + 17116 
13 dev        0x00322644 0xb4000 + 2549316 
14 dev        0x003223ec 0xb4000 + 2548716 
15 dev        0x00320688 0xb4000 + 2541192 
16 dev        0x00320688 0xb4000 + 2541192 
17 dev        0x0018eac0 0xb4000 + 895680 
18 dev        0x00320688 0xb4000 + 2541192 
19 dev        0x002a2248 0xb4000 + 2024008 
20 dev        0x0033225c 0xb4000 + 2613852 
21 dev        0x00330f54 0xb4000 + 2608980 
22 dev        0x01183bac 0xb4000 + 17628076 
23 dev        0x011837c4 0xb4000 + 17627076 
24 dev        0x01183780 0xb4000 + 17627008 
25 dev        0x01178b38 0xb4000 + 17582904 
26 dev        0x01178b64 0xb4000 + 17582948 
27 dev        0x010cf7ec 0xb4000 + 16889836 
28 dev        0x010cf794 0xb4000 + 16889748 
29 dev        0x01155578 0xb4000 + 17438072 
30 dev        0x00f6f954 0xb4000 + 15448404 
31 dev        0x00cfae94 0xb4000 + 12873364 
32 QuartzCore      0x3454c094 0x34511000 + 241812 
33 QuartzCore      0x3454bfec 0x34511000 + 241644 
34 IOMobileFramebuffer    0x367a3fd4 0x3679f000 + 20436 
35 IOKit       0x33546446 0x33543000 + 13382 
36 CoreFoundation     0x329295d8 0x3289d000 + 574936 
37 CoreFoundation     0x32934170 0x3289d000 + 618864 
38 CoreFoundation     0x32934112 0x3289d000 + 618770 
39 CoreFoundation     0x32932f94 0x3289d000 + 614292 
40 CoreFoundation     0x328a5eb8 0x3289d000 + 36536 
41 CoreFoundation     0x328a5d44 0x3289d000 + 36164 
42 GraphicsServices    0x364582e6 0x36453000 + 21222 
43 UIKit       0x347bb2fc 0x34764000 + 357116 
44 dev        0x000ba048 0xb4000 + 24648 
45 dev        0x000b9f94 0xb4000 + 24468 

주소가 응용 프로그램 자체에 대한 시스템 라이브러리에 대한 동일하지만 다른합니다. 그러나 "dev"행에서는 주소 이동이 동일 함을 알 수 있습니다. 그러나 그 중 하나는 파일 주소로 0x7c000을 가지고 있고 다른 하나는 0xb4000을 가지고 있습니다. 같은 번호의 줄에서 atos 주소를 제공하면 결과가 달라지며 어떤 것이 맞는지 알 수 없습니다.

레지스터도 매우 유사 :

Thread 0 crashed with ARM Thread State (32-bit): 
    r0: 0x00000001 r1: 0x3c58cb88  r2: 0x0b8010c0  r3: 0x017dbbc0 
    r4: 0x2fd4e088 r5: 0x205cc820  r6: 0x00000002  r7: 0x2fd4df70 
    r8: 0x00000001 r9: 0x0a158900  r10: 0x1d26da08  r11: 0x2fd4df78 
    ip: 0x017256a4 sp: 0x2fd4df70  lr: 0x011f6598  pc: 0x00cf7f6c 
    cpsr: 0x60000010 

Thread 0 crashed with ARM Thread State (32-bit): 
    r0: 0x00000001 r1: 0x3c58cb88  r2: 0x0ae7ce50  r3: 0x017a3bc0 
    r4: 0x2fd86088 r5: 0x21692590  r6: 0x00000002  r7: 0x2fd85f70 
    r8: 0x00000001 r9: 0x02270000  r10: 0x1ea63808  r11: 0x2fd85f78 
    ip: 0x016ed6a4 sp: 0x2fd85f70  lr: 0x011be598  pc: 0x00cbff6c 
    cpsr: 0x60000010 
제의

를도 유사성을 제안 번째이다.

갱신 2

내가 ATOS에 대한 첫 번째 주소 열에 주소 (다른 것들)을 사용할 때 아마 실수를 들었다. 이 주소는 시스템 메모리 공간에 있어야합니다. 다른 한편으로는 끝에서의 주소 이동 (동일)은 파일 공간에 있어야합니다. 그러나, 내가 16 진수로 변환하고 아토스에서 사용하면, 내가 얻은 함수와 메소드는 여전히 의미가 없습니다.

답변

0

마지막 업데이트가 정확한 대답이었습니다. 밖으로 나왔다, 나는 주소 이동을 사용할 필요가 있었다. 그러나 또한 moved by slide. 여기 프로세스를 조금 자동화하는 데 사용되는 fish 기능, 당신은 찾을 수 있습니다 그것 유용합니다 :

function symb 
    echo "obase=16; " (math $argv+16384)|bc|atos -arch armv7 -o "dev.app/dev" 
end 

(16384 내 실행을위한 슬라이드의 진수 형태)