1.前言 想来每个iOS攻城狮,都免不了要接触.crash文件 那么什么是.crash文件? iOS app的所有崩溃记录都会记录在设备上,所以对于和我一样没有集成让用户发送崩溃报告功能的iOS开发者来说,要获得crash文件就必须先连上崩溃过的机器,然后从崩溃过的机器上导出.crash文件   2.如何解析.crash文件 我们先看一眼导出来的.crash文件,重点看下崩溃部分的记录 如下图 显然从这图里,我们没法定位出具体的错误,和崩溃的具体行数. 我们得到是个二进制的报告,这时候我们需要对…
1.目录中存放app文件 2.打开文件 3.执行命令otool -arch arm64 -l ./QQStock  | grep -B 1 -A 10 "LC_SEGM" | grep -B 3 -A 8 "__TEXT" 4.解析命令xcrun atos -arch arm64 -o ./QQStock 0x100633614 lideiMac:4.0.1 lixiang$ lideiMac:4.0.1 lixiang$ cd /Users/lixiang/Des…
做了快两年的开发了,没有写过博客,最近公司app上架,程序崩溃被拒绝了,可是给的crash文件,又看不出哪里的问题,网上各种搜,终于找到了解决的办法,想想还是写个博客吧,希望给哪些也遇到这类问题的朋友一点帮助. 什么是dSYM文件 Xcode编译项目后,我们会看到一个同名的dSYM文件,dSYM是保存16进制函数地址映射信息的中转文件,我们调试的symbols都会包含在这个文件中,并且每次编译项目的时候都会生成一个新的dSYM文件,位于/Users/<用户名>/Library/Develope…
备份   文/爱掏蜂窝的熊(简书作者)原文链接:http://www.jianshu.com/p/0b6f5148dab8著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 序 在日常开发中,app难免会发生崩溃.简单的崩溃还好说,复杂的崩溃就需要我们通过解析Crash文件来分析了,解析Crash文件在iOS开发中是比较常见的. 获取崩溃信息方式 在iOS中获取崩溃信息的方式有很多,比较常见的是使用友盟.云测.百度等第三方分析工具,或者自己收集崩溃信息并上传公司服务器.下面列举一些我…
项目中遇到一台手机运行测试包闪退的现象,而且是一个设备闪退其他设备没有再现的情况 可以看到Crash信息,但是指定的问题给出的是16进制内存地址,根本无法定位问题发生在哪个类的哪个函数中 所以需要解析这个Crash文件,好了,废话就说这么多,以下是干货~~~ 文章讲述如下5个问题: 一.如何获取手机的Crash文件 二.使用symbolicatecrash解析Crash文件具备的条件 三.如何获取以上三个文件 四.如何找到symbolicatecrash 五.如何使用symbolicatecra…
导出crash文件 Xcode -> Window -> Devices and Simulators -> View Device Logs ,然后选中导出. 找到.app文件和.dsym文件 .app文件:直接解压缩.ipa文件,在Payload文件夹里面取得 .dsym文件:.xcarchive文件显示包内容,在dSYMs文件夹里面取得 找到symbolicatecrash文件 在terminal输入以下命令找到symbolicatecrash文件路径 1 find /Applic…
时间2013-08-20 12:49:20 GoWhich原文  http://www.gowhich.com/blog/view/id/343 苹果官方 Crash文件分析方法 (iOS系统Crash文件分析方法) symbolicatecrash路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase…
前言:crash log 对 定位崩溃问题 ,并且不容易复现,尤其是及时对appstore 上正在运营的 app 的迭代改进来说 非常重要. 1 crash两种情况 1.1 测试环境下 追踪bug 1.2 App Store  上应用 追踪bug 我们主要讨论在App Store  上应用 追踪bug 的情况 2获取crash log信息途径 2.1自己收集,做错误分析 错误趋势: 收集崩溃信息 存储 上传服务器 (时机可以是再一次打开应用时候同步)  方法: // 将系统提供的获取崩溃信息函数…
崩溃分析方式:命令行解析Crash文件 通过Mac自带的命令行工具解析Crash文件需要具备三个文件 symbolicatecrash,Xcode自带的崩溃分析工具,使用这个工具可以更精确的定位崩溃所在的位置,将0x开头的地址替换为响应的代码和具体行数. 我们打包时产生的dSYM文件. 崩溃时产生的Crash文件. 1.获取.crash文件 获取崩溃信息方式: 使用友盟.蒲公英等第三方崩溃统计工具.->iOS 友盟第三方崩溃统计的解析-dSYM 自己实现应用内崩溃收集,并上传服务器. Xcode…
一.使用流程 Windows下的程序运行崩溃时,往往可以利用pdb文件快速解析出程序崩溃的具体位置,甚至可以对应到源代码的具体行数.macOS下的symbolicatecrash也具备相应的功能.对应于Windows下的pdb文件,macOS下的crash文件解析需要用到dSYM文件.这个文件正常情况下可能不会生成,需要在XCode进行设置.当程序崩溃时,通过symbolicatecrash对crash文件和dSYM文件中的符号进行映射,即可将crash文件中的内存地址转换为可读的字符串.以前的…
iOS Crash文件的解析(一) 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退.脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断.联想起老罗在发布Smartisan OS的时候说了,他准备了10个手机,如果一台有问题,就换一台,如果10台后挂了他就不做手机了.好了不闲扯了,今天就跟大家一起聊聊iOSCrash文件的组成以及常用的分析工具. 有一个WWDC 2010的视频推荐大家抽空看看,视频名称“Understanding C…
iOS Crash文件的解析 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退.脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断.联想起老罗在发布Smartisan OS的时候说了,他准备了10个手机,如果一台有问题,就换一台,如果10台后挂了他就不做手机了.好了不闲扯了,今天就跟大家一起聊聊iOSCrash文件的组成以及常用的分析工具. 有一个WWDC 2010的视频推荐大家抽空看看,视频名称“Understanding Cras…
AppStore审核被拒,返回crashLog.txt文件,可是打开后都是十六进制的地址,我们可以使用Xcode自带的 symbolicatecrash 解析得到我们需要的详细崩溃信息crashLogEnd.crash 1.在桌面创建一个crash文件夹 2.首先找到symbolicatecrash工具存放的地址(Xcode显示包内容亦可找到) 打开终端输入指令: find /Applications/Xcode.app -name symbolicatecrash -type f 稍等片刻得到…
源网址: http://developer.apple.com/library/ios/#technotes/tn2151/_index.html 当一个应用程序崩溃时,创建一份“崩溃报告”对于理解崩溃是如何引起的非常有用.本文档包含有关如何识别,了解并解释崩溃报告的基本信息. 简介 当一个应用程序在一台iOS 设备上崩溃时,一份“崩溃报告”将在该设备上次创建并存储起来.崩溃报告描述应用程序是在何种条件下崩溃的,大部分情况下包含一份当前正在运行线程的完整的堆栈跟踪,通常这在调试问题时非常有用.如…
对于我们iOS开发者来说,最心碎的事莫过于苹果审核一个星期后上架app store,而第二天就报出闪退bug.一周前我刚经历过,而且最坑的是由于第一次做个人开发,经验不足,没有集成友盟的分析SDK,还好有几个好心同事下载了,然后果然有两台机器上出现了闪退.真是天无绝人之路,最重要的crash文件有了.下面我就来详细描述一下具体的心路历程以及分析方法. iOS app的所有崩溃记录都会记录在设备上,所以对于和我一样没有集成让用户发送崩溃报告功能的iOS开发者来说,要获得crash文件就必须先连上崩…
iOS解析crash日志:我们在ios开发中会碰到的很多crash问题,如果Debug调试模式的话,我们可以往往很容易的根据log的输出定位到导致crash的原因,但对于已经上线的应用,或者是release环境包导致的crash,我们就需要一些特殊的手段来通过crash log进行分析定位了. 1.导出crash log 将产生崩溃的设备连接到PC,打开iTunes, 等待iTunes同步Crash日志完成: Mac机器打开Finder,进入~/Library/Logs/CrashReporte…
理解与分析ios应用的崩溃报告 源网址: http://developer.apple.com/library/ios/#technotes/tn2151/_index.html 当一个应用程序崩溃时,创建一份“崩溃报告”对于理解崩溃是如何引起的非常有用.本文档包含有关如何识别,了解并解释崩溃报告的基本信息. 简介 当一个应用程序在一台iOS 设备上崩溃时,一份“崩溃报告”将在该设备上次创建并存储起来.崩溃报告描述应用程序是在何种条件下崩溃的,大部分情况下包含一份当前正在运行线程的完整的堆栈跟踪…
转自: http://ios-iphone.diandian.com/post/2012-05-18/19440182 Xcode 4.3的symbolicatecrash的位置和老版本的不一致了. /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/…
这是一篇来自raywenderlich的教程,内容翔实!结构简单透彻.讲解循序渐进.文章质量上乘!是一篇难的的博文!使用半瓶的英语水平翻译了一下: 1.[iOS push全方位解析](一) push的概述 2.[iOS push全方位解析](二) 生成push证书,生成Provisioning Profile(本篇) 3.[iOS push全方位解析](三) 一个极简的demo,并测试一下push 这里查看原文 ------------------------------------------…
当你的应用提交到AppStore或者各个渠道之后,请问你多久会拿到crash文件?你如何分析crash文件的呢? 上传crash文件 你的应用应当有模块能够在应用程序crash的时候上传crash信息. 要么通过用户反馈拿到crash文件,要么借助自己或第3方的crash上传模块拿到crash文件. 今天要分析的场景是你拿到用户的.crash文件之后,如何符合化crash文件(Symbolicating crash logs)的3种方法.帮助尽快找到crash原因. crash文件例子 cras…
转自:http://www.cocoachina.com/industry/20140514/8418.html 转自wufawei的博客 当你的应用提交到App Store或者各个渠道之后,请问你多久会拿到crash文件?你如何分析crash文件的呢?   上传crash文件 你的应用应当有模块能够在应用程序crash的时候上传crash信息. 要么通过用户反馈拿到crash文件,要么借助自己或第3方的crash上传模块拿到crash文件.   今天要分析的场景是你拿到用户的.crash文件之…
对于提交的苹果官方的app,在审核的时候会给我们一些crash文件,对于这些有用的文件,里面是关于我们的bug的一些信息,那么该如何去调试呢 第一步:在任意目录创建一个目录,用来调试crash,我这里创建一个crash目录 第二步:将之前Archive的文件copy到crash目录里面 其中包括两个文件.app和.app.dSYM 如果找不到的话可以按照下面的步骤进行 先到Organizer 1,找到提交那个时刻的Archive文件,选中,show in Finder 2,然后到达这里,然后再选…
1. 桌面新建一个文件夹,用来存放crash相关的东西.取名crash 2.下载苹果官方邮件里给的后缀名为 .txt 的被拒附件(这三个txt格式文件为苹果返回的崩溃日志文件),把这三个文件放在刚新建的crash文件夹里,且把 .txt文件后缀都改成.crash. 3.找到Xcode自带的符号化工具symbolicatecrash,拷贝到crash文件夹中. 寻找方式:Mac快捷键 command+shift+G ,前往文件夹:    /Applications/Xcode.app/Conten…
因为GDataXML的内部实现是通过DOM方式解析的,而在iOS 开发中用DOM方式解析xml文件,这个时候我们需要开启DOM,因为ios 开发中是不会自动开启的,只有在mac 开发中才自动开启的.我们需要做如下配置: 当配置玩这个操作之后,再次进行编译的时候,系统还是报错,是因为我们还需要进行如下操作: // // ViewController.m // 04-xml解析GDataXML(DOM方式) // // Created by jerry on 15/9/29. // Copyrigh…
上传一软件,被拒了,自己测试了n遍都未出现这个情况,今天用symbolicatecrash工具分析了一下苹果提供的Crash文件,最终查到是 - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation这里出问题,在第一次进入更新位置的时候,userLocation.coordinate有时候会是0,0,这时候用setRegion就一定会Crash,所以任何时刻请记得做非空处理,…
在用户使用软件的过程当中突然产生软件崩溃的问题,必须采取相关的措施去拦截崩溃产生的原因,这有助于程序员解决此类崩溃的再次发生.特别是有些难以复现的崩溃,不稳定的崩溃,更有必要去调查崩溃产生的原因.一般来说,崩溃报告中需要记录的信息主要包含以下几点: 1.产生崩溃时电脑的硬件相关信息 2.崩溃发生的时间 3.最重要的,即崩溃时的函数调用堆栈信息 4.用户可以手动填写如何制造崩溃的方法,方便复现崩溃 关于dump文件,可以用于恢复崩溃时的函数堆栈信息,方便程序员调试 接下来简述一下如何利用win32…
分析crash文件必备条件:crash文件的uuid,app的uuid,dsym文件的uuid必须一致 1> crash文件的uuid为Binary Images:0x4000 - 0x1173fff后面的32个字符组成 2> 使用dwarfdump检查app的UUID.命令行格式:dwarfdump --uuid YourApp.app/YourApp 3> 用dwarfdump检查dSYM的UUID.命令行格式:dwarfdump --uuid YourApp.app.dSYM 定位…
这里使用NSXMLParser来解析,这个是apple自带的xml解析库,有个參考文章:http://www.raywenderlich.com/553/xml-tutorial-for-ios-how-to-choose-the-best-xml-parser-for-your-iphone-project 在Xcode中增加一个xml文件: <? xml version="1.0" encoding="ISO-8859-1"?> <root&g…
vcf, 通讯录导出的一种格式. 一.生成vcf文件 假设要把我们iPhone通讯录里的数据, 生成vcf格式文件. 我们能够借助iCloud. 小技巧:通过iCloud导出iPhone通讯录的方法 当然, 假设你想在应用中, 利用代码生成, 全然能够.先导出通讯录数据, 再解析, 再生成vcf文件就可以. 參考以下代码: -(NSString*)generateVCardStringWithContacts:(CFArrayRef)contacts { NSInteger counter =…
    Outline如何获得crash日志如何解析crash日志如何分析crash日志     1. iOS策略相关     2. 常见错误标识     3. 代码bug 一.如何获得crash日志 当一个iOS应用程序崩溃时,系统会创建一份crash日志保存在设备上.这份crash日志记录着应用程序崩溃时的信息,通常包含着每个执行线程的栈调用信息(低内存闪退日志例外),对于开发人员定位问题很有帮助. 如果设备就在身边,可以连接设备,打开Xcode - Window - Organizer,在…