docs: APM 监控部分

This commit is contained in:
杭城小刘
2020-04-06 22:35:27 +08:00
parent fb73c0acf4
commit 32d90b27fc
34 changed files with 2702 additions and 126 deletions

View File

@@ -34,4 +34,28 @@ Thread 12 Crashed:
为了搞懂这种 Crash,这篇文章就诞生了.
##
## crash 后的 backtrace 符号化
iOS 的奔溃日志结合 dsym 文件可以找到奔溃时的 backtrace这是解决奔溃的关键线索。如果是同一台 Mac 进行打包,导入 crash log 会自动将 backtrace 进行符号化,这样我们就可以看到类名、文件名、方法名和行号。
如果打包不是在同一台 Macxcode 找不到对应的符号表backtrace 是不会被解析成功的。
```
Last Exception Backtrace:
0 CoreFoundation 0x2cb535f2 __exceptionPreprocess + 122
1 libobjc.A.dylib 0x3a3c5c72 objc_exception_throw + 34
2 CoreFoundation 0x2ca67152 -[__NSArrayM objectAtIndex:] + 226
3 myapp 0x004fe736 0x9b000 + 4601654
4 myapp 0x00507ed4 0x9b000 + 4640468
5 myapp 0x004fd112 0x9b000 + 4595986
6 myapp 0x003275c6 0x9b000 + 2672070
```
方法:将 crash 对应的包比如 Test.app 文件和 crash 文件放在一个文件夹下。执行下面命令
```shell
atos -arch arm64 Test.app/Test -l 0x9b000 0x004fe736
```
其中:
arch 后代表指令架构集第一个数字取backtrace的要解析的行的第4列第二个数字取第3列, 就会得到对应的方法名,文件名,行号.