zoukankan      html  css  js  c++  java
  • Unity符号表

    我们可以通过crash日志信息,查看程序crash在什么地方。
    程序crash日志:

    在这份堆栈信息里,可以看到崩溃时的内存地址,例如0049b647这样的数字。每行的结尾则是所使用的库,例如:libunity.so
    在Unity 5.3.6之后的版本,Unity提供了libunity.so的符号表。

    在Mac上,符号表的路径是:

    /Applications/Unity/PlaybackEngines/AndroidPlayer/Variations/mono/Release/Symbols

    /Applications/Unity/PlaybackEngines/AndroidPlayer/Variations/il2cpp/Release/Symbols

    在windows上,符号表的路径是:

    C:Program FilesUnityEditorDataPlaybackEnginesAndroidPlayerVariationsmonoReleaseSymbolsarmeabi-v7alibunity.sym.so

    C:Program FilesUnityEditorDataPlaybackEnginesAndroidPlayerVariationsil2cppReleaseSymbolsarmeabi-v7alibunity.sym.so

    需要注意的是,接下来我们使用的符号表版本一定要和你打包所使用的Editor版本一致。
    有了符号表,接下来我们还需要NDK的addr2line工具。你可以在你的NDK目录下找到它:

    toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-addr2line

    OK,万事俱备,我们接下来就来解析一下第一条内存地址所对应的方法。

    ./arm-linux-androideabi-addr2line -f -C -e libunity.sym.so 0049b647

    可以看到crash的方法是:

  • 相关阅读:
    Common Element in Two Sorted Sets
    Nearest Points on a Plane
    Influencer Finder
    Range of Intervals
    *Common characters
    自定义栈 和装箱,拆箱
    1.Vector(同步)和ArrayList(异步)异同
    STL中的迭代器的使用
    如何优化limit?
    mysql五大引擎之间的区别和优劣之分
  • 原文地址:https://www.cnblogs.com/TravelingLight/p/10110318.html
Copyright © 2011-2022 走看看