xcode (_hidden#919_:0)在崩溃符号化文件内

8yparm6h  于 2022-12-05  发布在  其他
关注(0)|答案(2)|浏览(101)

我尝试手动符号化崩溃日志,因为Xcode 7不会为我这样做。然而,我得到了这样的结果:

这是什么意思,我能用这个做什么?我也用过atos,它只是给了我相同的地址!我确信我也有正确的dSYM,。app和log。
谢谢你!

4smxwvx5

4smxwvx51#

当你在崩溃日志中看到函数名的__hidden_时,这意味着你在从归档文件中导出ipa时启用了位代码。为了能够符号化崩溃日志,你应该使用归档文件中的模块Map文件:

以下是您需要在终端中运行的命令:
dsymutil --符号Map路径到BCSYMBOLMAPS目录路径到DSYM
所有符号Map文件。在此命令之后,您可以使用atos命令,就像您已经尝试过的那样:
dSYM --查找您查找地址

tktrz96b

tktrz96b2#

要用符号表示崩溃日志,您需要XCArive。在xcarchive中,我们关注两件事:

  1. dSYM文件:它包含二进制文件的调试信息。MyApp.xcarchive/dSYMs/MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
  2. BCSymbolMap文件:它包含符号的可读名称。MyApp.xcarchive /BCSymbolMaps/.bcsymbolmap
    如果归档文件包含框架,则它可能包含多个dSYM和BCSymbolMap文件。我们必须为二进制文件标识正确的BCSymbolMap文件。为此,我们需要使用dwarfdump工具提取构建的构建UUID。
dwarfdump --uuid MyApp,xcarchive/dSYMs/MyApp.app.dSYM/Contents/Resources/DWARF/MyApp

输出:

UUID: B63B409F-FA67-334C-BDC0-28AE2BFD488A (arm64) MyApp.xcarchive/dSYMs/MyApp.app.dSYM/Contents/Resources/DWARF/MyApp

使用dsymutil工具解析dSYM文件中的模糊符号。使用上面的符号文件:

dsymutil -symbol-map MyApp.xcarchive/MyApp.xcarchive/BCSymbolMaps/ B63B409F-FA67-334C-BDC0-28AE2BFD488A.bcsymbolmap MyApp.xcarchive/dSYMs/MyApp.app.dSYM

这个命令会在原地符号化dSYM文件。现在,如果我们在XCode中打开崩溃日志,它将能够正确地解析符号。请注意,XCode可能需要一分钟来完成这个操作,所以请耐心等待。符号将在完成后自动出现。
如果崩溃日志在被符号化之前已经在XCode中打开,则可能需要从XCode请求重新符号化。要执行此操作,请在设备日志窗口中右键单击崩溃日志,然后从上下文菜单中选择重新符号化日志。

相关问题