我想用[NSThread callStackSymbols]来表示记录的堆栈跟踪符号,以识别完整的堆栈回溯调用。但是,这并没有给出象征性的痕迹。
0 TestApp 0x0029616f TestApp + 1823087
1 TestApp 0x003ef18d TestApp + 3236237
2 UIKit 0x2ab7bb1f <redacted> + 438
3 UIKit 0x2ac0bea3 <redacted> + 306
4 UIKit 0x2ab7bb1f <redacted> + 438
5 CoreFoundation 0x2757546d <redacted> + 48
6 CoreFoundation 0x2756e4c3 <redacted> + 234
7 UIKit 0x2ab7bc9b <redacted> + 818
8 UIKit 0x2ae32799 <redacted> + 584
9 UIKit 0x2abdfbd9 <redacted> + 308
10 UIKit 0x2ab5bdd7 <redacted> + 458
11 CoreFoundation 0x2760fffd <redacted> + 20
12 CoreFoundation 0x2760d6bb <redacted> + 278
13 CoreFoundation 0x2760dac3 <redacted> + 914
14 CoreFoundation 0x2755b3b1 CFRunLoopRunSpecific + 476
15 CoreFoundation 0x2755b1c3 CFRunLoopRunInMode + 106
16 GraphicsServices 0x2eb88201 GSEventRunModal + 136
17 UIKit 0x2abc543d UIApplicationMain + 1440
18 TestApp 0x0031581b TestApp + 2344987
19 libdyld.dylib 0x35a6baaf <redacted> + 2
我尝试了开发和企业构建。都没有成功。无论如何都有象征性吗?我搜索了许多论坛,所有人都要求用atos命令执行此操作,如下所示
atos -arch armv7 -o 'app name.app'/'app name' 0x000000000
但是,我不确定我必须使用上述命令的内存地址以及如何获取它。
非常感谢任何帮助,谢谢。
答案 0 :(得分:2)
你在这里跳过几件。 atos中的内存地址应该引用加载地址和堆栈地址,你也需要dSYM文件。
关于手动执行此操作,实际上有一个关于apteligent的非常好的写作Symbolicating an iOS Crash Report。我建议你仔细阅读,以了解符号的工作原理。