gpt4 book ai didi

ios - 在没有崩溃日志的情况下符号化 iOS 崩溃堆栈跟踪

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:22:40 24 4
gpt4 key购买 nike

我正在使用 BugSense 来跟踪 iOS 应用程序的崩溃。最近我注意到从实时使用中符号化堆栈跟踪的问题。

问题是 Apple 在 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

是否有另一种方法来符号化此地址或获取相应的加载地址?

最佳答案

加载地址0xb3000

幸运的是,您已经从您的应用程序二进制文件中删除了这些符号,否则这将不可见。

此崩溃也是由于抛出异常而发生的,因此崩溃报告应该为您提供 Last Exception Backtrace 以显示实际异常发生的位置和实际异常原因。发布的堆栈跟踪的第 5 行中的调用很可能不会为您提供很多相关信息。您获得的崩溃信息看起来非常有限:(

关于ios - 在没有崩溃日志的情况下符号化 iOS 崩溃堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15268071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com