我正在使用BugSense來跟蹤iOS應用程序中的崩潰。最近我注意到實際使用中象徵性堆棧痕跡的問題。Symbolicate iOS崩潰堆棧跟蹤無崩潰日誌
問題是蘋果引入了iOS 4.3的地址空間隨機化,因此感興趣的堆棧地址不能單獨用於檢索導致崩潰的正確方法。
我目前正試圖通過計算
symbol address = slide + stack address - load address
,以獲得正確的地址我已經有滑動和堆棧地址,但是從我的理解加載地址只能在崩潰報告,我無法通過獲得被發現BugSense。 堆棧跟蹤看起來像
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
有另一種方式來symbolicate這個地址或獲得相應的加載地址?
可能重複的[Symbolicating iPhone App Crash Reports](http://stackoverflow.com/questions/1460892/symbolicating-iphone-app-crash-reports) – 2013-03-07 10:06:20
@Benoit我認爲問題在於,sven.b沒有足夠的聲望來評論你剛剛發佈的答案,並且sven.b認爲該線程中的給定答案已無效,因爲已添加到iOS的空間隨機化4.3。 – 2013-03-07 10:11:09
謝謝你Benoit,你提到的帖子有點過時了atos命令是正確的,但是不能從堆棧跟蹤中獲取符號地址 – 2013-03-07 10:11:40