美文网首页
iOS 根据堆栈信息定位代码行数

iOS 根据堆栈信息定位代码行数

作者: FlowYourHeart | 来源:发表于2018-03-07 20:26 被阅读52次

现在有很多第三方的错误信息收集SDK,百度的crab 友盟 bugly等等,但有些不能直接展示crash的位置,比如百度的crab,在这种情况下怎么根据错误堆栈去定位代码呢?

1、选中xcode 点击菜单上的window - Organizer


xcode 菜单点击Organizer

2、找到想要查看的版本,右键 show in Finder,在文件夹中 右键.xcarchive文件显示包内容 --- dSYMs ---xxx.app.dSYM


点击Show in Finder.png 这个.png

3、我们可以用命令行检查一下dsym 所支持的UUID,此UUID可以确定设备的架构类型(arm64, armv7, armv7s 等)
通过命令行:dwarfdump --uuid xxx(.app.dsym)

dwarfdump --uuid xxx

4、xxx.app.dSYM 右键显示包内容 -- Contents --- Resources -- DWARF ---


找到这个东西 名字是你自己的名字哈.png

5最后我们可以利用这个文件定位错误代码的具体的位置。
定位错误命令行:
xcrun atos -o xxx(App1031的路径) -arch armv7/armv7s/arm64(选其一) -l xxx(起始地址) xxx(运行地址)、

xcrun atos -o xxx -arch arm7

到这里就可以了 如 DeleteHistoryTrajectoryVC.m m:291

关于开始地址 和 结束地址

堆栈地址获取 转换.png

相关文章

  • iOS 根据堆栈信息定位代码行数

    现在有很多第三方的错误信息收集SDK,百度的crab 友盟 bugly等等,但有些不能直接展示crash的位置,比...

  • JVM调优之jstack找出最耗cpu的线程并定位代码

    jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。下面我们...

  • JVM调优之jstack找出最耗cpu的线程并定位代码

    jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。 第一步...

  • 什么是符号表?

    前言 iOS 开发中经常回定位 bug 通过崩溃堆栈,此时我们需要借助符号表来恢复内存地址对应代码调用信息,为了解...

  • crash之野指针

    例子一 堆栈信息 根据堆栈分析:1,野指针2,有对应的堆栈查看堆栈代码,看那些有可能野指针: 分析所有参数:url...

  • IllegalArgumentException at co

    问题: 原因: 根据堆栈信息,找到Preconditions类的checkArgument()方法: 由上面代码可...

  • 根据bugly调用堆栈信息定位错误代码位置

    方法一:atos 解析 iOS 的错误崩溃日志 错误堆栈信息示例:myapp 0x00000001002abc74...

  • iOS定位和地图

    一.定位 1.iOS8以后前台定位 A.代码 B.配置信息Info.plist 2.iOS8以后后台定位 A.代码...

  • 摸石头过河三部曲

    如果有返回错误行数,直接检查代码,很快能解决如不能根据报错信息在网上搜索,注意避免CSDN如果没有相关信息根据错误...

  • Android混淆相关

    混淆示例代码 解码混淆后的堆栈信息 由于方法名会被混淆,直接查看log很难定位到问题。 google官方提供了一个...

网友评论

      本文标题:iOS 根据堆栈信息定位代码行数

      本文链接:https://www.haomeiwen.com/subject/usujfftx.html