zoukankan      html  css  js  c++  java
  • Objective-C 符号化

     符号化,顾名思义,就是把地址翻译成人能看懂的符号以及它们在文件中的位置,符号包括函数名和变量名等等。

    1、什么地方有符号?

    1)App Mach-O格式的二进制文件

    2)DWARF(Debugging With Attributed Record Formats)格式的dSYM文件

    2、工程的相关配置 

    1)Build Settings -> Strip Linked Product,是否strip(裁剪)掉二进制文件中的符号表。利用MachOView可以查看二进制中的Symbol Table段,即符号表。

    2)Build Settings -> Debug Information Format,是否生成dSYM文件。

    3)利用二进制中的符号表翻译出来的信息会比dSYM少,例如没有行列号。 

    3、crash日志解析,是符号化最常用的场景之一。二进制、dSYM和crash文件都有对应的uuid(universally unique idenfier),相同才能成功解析。

    查看uuid

    dwarfdump --uuid SymbolTest.app/Contents/MacOS/SymbolTest   // 查看二进制的uuid
    
    dwarfdump --uuid SymbolTest.app.dSYM // 查看dSYM文件的uuid
    

     crash日志的uuid在Binary Images段显示

  • 相关阅读:
    两人合作
    JUnit单元测试
    结对编程-——游戏五子棋
    使用Junit等工具进行单元测试
    软件工程
    两人项目---打飞机的游戏
    使用Junit等工具进行单元测试
    软件工程
    使用Junit等工具进行单元测试
    软件工程
  • 原文地址:https://www.cnblogs.com/yangwenhuan/p/9954294.html
Copyright © 2011-2022 走看看