腾讯Bugly工具介绍节选
Bugly使用文档
入口介绍
1、点击这里进入腾讯Bugly官网,通过QQ号登录进入。
【图1】
完善开发者信息
点击 "个人信息",如上【图1】 “1”所在位置,进入个人信息配置页【图2】
请按照要求填写邮箱,微信号和手机号号码,也可以更换开发者头像,以上信息便于我们随时跟开发者保持沟通
注册应用
点击 "注册新APP",如上【图1】 “2”所在位置,进入应用注册页面【图3】
请按照要求填写应用名称,选择应用平台、产品类型和产品logo,并配置该产品的管理员和成员
下载SDK和接入指引
点击这里下载 SDK
点击这里进入 iOS应用接入指南
点击这里进入 Android应用接入指南
应用异常首页
点击你希望查看的应用,如【图1】中 “3”所在的位置,进入该应用的异常首页【图4】
在应用异常首页,开发者可以按照异常出现次数或者影响用户人数进行排序,如【图4】中 “2”所在位置,挑选最严重的问题优先解决; 在问题列表中点选所关注的问题,如【图4】中“1”所在位置,进入该问题的详情页,在详情页里可以看到crash的七天趋势波动,发生crash的设备和系统信息,crash的出错线程堆栈,系统日志等信息。
高级搜索页
点击“高级搜索”,如【图4】中“3”所在位置,可以在海量数据中,快速找到关键信息
实时统计页
点击“实时统计”图标,如【图4】中 “4”所在位置,在产品灰度发布时,查看crash实时统计图,可以及时掌握待发布版本的质量状况,决定在发布前解决哪些问题
趋势统计页
点击“趋势统计”图标,如【图4】中 “5”所在位置,在产品发布后,查看crash趋势图统计图,能了解crash变化情况,可按天查看crash的波动情况
自定义标签
通过Bugly提供的标签功能,可以通过自动或手动的方式,给不同的问题添加标签,用于标注问题特性,如:问题发生场景(登录场景、支付场景等),问题主要原因(内存泄漏等),问题负责人等,方便您对问题跟踪过程的管理和统计。
1、为问题手动添加标签
在Bugly平台上手动为某个问题添加的标签,可以归为手动标签类型,是问题的一个自定义参数。
手动添加标签的入口主要有两个:
- 1)在“问题列表”中添加手动标签
- 2)在“问题详情”中添加手动标签
2、上报时自动添加标签
通过SDK提供的接口上报的标签,可以归为自动标签类型,是每个异常发生时上报的自定义参数。
自动添加标签流程:
注:代码集成请务必使用“标签管理”中存在的标签ID,若标签ID不存在,上报的内容不会显示
SDK提供的接口说明:
- 1)Android产品请点击这里
- 2)iOS产品请点击这里
3、标签管理
入口在“设置-标签管理”,可以对标签进行管理。
4、通过标签查找问题
可以在高级搜索中,通过标签查找到对应的问题,支持多选。
5、通过标签查找异常
可以在异常列表中,通过标签筛选,查找到该问题下有多少异常上报了该标签。
Bugly iOS SDK 接入指南
一. SDK 集成
Bugly提供两种集成方式供iOS开发者选择:
- CocoaPods
- 手动集成
1.1 CocoaPods 集成方式
在工程的Podfile里面添加以下代码:
pod 'Bugly'
保存并运行pod install,然后用后缀为.xcworkspace的文件打开工程。
关于CocoaPods的更多信息请查看CocoaPods官方网站
二. 初始化SDK
2.1 导入头文件
在工程的AppDelegate.m文件导入头文件
#import <Bugly/Bugly.h>
如果是Swift工程,请在对应bridging-header.h中导入
2.2 初始化Bugly
在工程AppDelegate.m的application:didFinishLaunchingWithOptions:方法中初始化Bugly:
- Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [Bugly startWithAppId:@"此处替换为你的AppId"]; return YES; }
- Swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { Bugly.startWithAppId("此处替换为你的AppId")return true}
如果您需要上报iOS Watch2 App或iOS App Extension的异常,请参见Bugly iOS Extension SDK 接入指南。
至此,Xcode工程集成Bugly已完成,接下来可以编译并运行你的Xcode工程。
高级功能
Bugly SDK提供一系列自定义配置或接口供开发者调用,如:
文件配置初始化参数
自定义日志
界面追踪
卡顿监控
Bugly iOS SDK 高级功能使用指南
一. 文件配置初始化参数
Bugly支持读取Info.plist文件读取SDK初始化参数,可配置的参数如下:
- Appid- Key: BuglyAppIDString- Value: 字符串类型- 渠道标识- Key: BuglyAppChannelString- Value: 字符串类型- 版本信息- Key: BuglyAppVersionString - Value: 字符串类型 - 开启Debug信息显示 - Key: BuglyDebugEnable - Value: BOOL类型
如下初始化方式,则会读取Info.plist内添加的key-value配置进行SDK初始化:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 读取Info.plist中的参数初始化SDK [Bugly startWithAppId:nil]; return YES; }
二. 自定义日志
SDK提供自定义日志打印接口,用于记录一些关键的业务调试信息,可以更全面地反应App发生崩溃或异常时的上下文环境。
使用方式与NSLog一致,可定义日志级别以便过滤,日志接口宏定义如下:
BLYLogError(fmt, ...) BLYLogWarn(fmt, ...) BLYLogInfo(fmt, ...) BLYLogDebug(fmt, ...) BLYLogVerbose(fmt, ...)void BLYLog(BuglyLogLevel level, NSString *format, ...); void BLYLogv(BuglyLogLevel level, NSString *format, va_list args);
Bugly iOS 符号表配置
一、介绍
什么是符号表?
符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示:
<起始地址> <结束地址> <函数> [<文件名: 行号>]
为什么要配置符号表?
为了能快速并准确地定位用户APP发生Crash的代码位置,Bugly使用符号表对APP发生Crash的程序堆栈进行解析和还原。
举一个实例:
Bugly iOS提供了自动和手动两种方法配置符号表
二、自动配置:XCode + sh脚本
符号表提取工具依赖 java 运行环境 java 环境下载
下载解压 自动配置符号表 zip 文件
把符号表提取工具
buglySymboliOS.jar
保存在~/bin
目录下 (如果用户主目录没有bin
文件夹,请自行创建,如下图所示)在 Xcode 工程对应 Target 的
Build Phases
中新增Run Scrpit Phase
1.打开
dSYM_upload.sh
,复制所有内容,在新增的Run Scrpit Phase
中粘贴2.修改新增的
Run Scrpit
中的<YOUR_APP_ID>
为您的 appid,<YOUR_APP_KEY>
为您的 appkey,<YOUR_BUNDLE_ID>
为 app 的 Bundle Id注意去掉尖括号
脚本默认在 Debug 模式及 模拟器编译 情况下不会上传符号表,在需要上传的时候,请修改下列选项
3.Debug模式编译是否上传,1=上传,0=不上传,默认不上传
UPLOAD_DEBUG_SYMBOLS=0
4.模拟器编译是否上传,1=上传,0=不上传,默认不上传
UPLOAD_SIMULATOR_SYMBOLS=0
至此,自动上传符号表脚本配置完毕,Bugly 会在每次 Xcode 工程编译后自动完成符号表配置工作。
如果不想自动上传模拟器编译后的符号文件,请修改脚本
UPLOAD_SIMULATOR_SYMBOLS=0
三、手动上传
下载最新版Bugly iOS符号表工具,其中工具包括:
buglySymboliOS
<Version>
.zip符号表工具iOS版-使用指南
buglySymboliOS.sh(Shell脚本)
buglySymboliOS.jar(Jar包)
定位dSYM文件并使用Bugly iOS符号表工具生成符号表文件(xxx.zip)
定位dSYM文件方法和工具的使用方法请参考:符号表工具iOS版-使用指南
在Bugly的版本管理页面(产品页面 -> 设置 -> 版本管理)上传相应版本的符号表文件,如下图所示:
四、符号表HTTP上传接口
Bugly提供了上传符号表的HTTP(使用HTTP POST方式上传)
- iOS符号表接口:http://bugly.qq.com/upload/dsym
参数说明:
- pid:2
- app:App ID
- key:App Key
- bid:包名(Package Name)
- ver:版本号(需要URL Encode)
- n:符号表文件名(需要URL Encode)
Content‐Type:
- 上传.txt 文件:text/plain
- 上传.zip 文件:application/zip
可以使用Curl工具来上传。
curl --header "Content-Type: application/zip" --data-binary @symbol.zip 'http://bugly.qq.com/upload/dsym?pid=2&app=123456789&key=XXXXXX&bid=com.demo.test&ver=1.0.1&n=symbol.zip' --verbose
http://bugly.qq.com
腾讯Bugly工具介绍节选相关推荐
- 【腾讯Bugly干货分享】动态链接库加载原理及HotFix方案介绍
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57bec216d81f2415515d3e9c 作者:陈昱全 引言 随着项目中动 ...
- 【腾讯Bugly干货分享】Android Linker 与 SO 加壳技术
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57e3a3bc42eb88da6d4be143 作者:王赛 1. 前言 Andr ...
- 【腾讯Bugly干货分享】Android内存优化总结实践
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/2MsEAR9pQfMr1Sfs7cPdWQ 导语 智 ...
- 【腾讯Bugly干货分享】微信终端跨平台组件 mars 系列(二) - 信令传输超时设计
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/9DJxipJaaBC8yC-buHgnTQ 作者简介: ...
- 【腾讯Bugly干货分享】舞动的表情包——浅析GIF格式图片的存储和压缩
为什么80%的码农都做不了架构师?>>> 本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq. ...
- 【腾讯Bugly干货分享】JSPatch 成长之路
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/579ef... Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社 ...
- 【腾讯Bugly干货分享】iOS黑客技术大揭秘
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5791da152168f2690e72daa4 "8小时内拼工作,8小 ...
- 【腾讯Bugly干货分享】移动App入侵与逆向破解技术-iOS篇
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e0acc896e9ebb6865f321 如果您有耐心看完这篇文章,您将懂 ...
- 【腾讯Bugly干货分享】React Native项目实战总结
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 "8小时内拼工作,8小 ...
- 【腾讯bugly干货分享】微信Android热补丁实践演进之路
为什么80%的码农都做不了架构师?>>> 本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://bugly.qq.com/bbs/forum.ph ...
最新文章
- [Google API](4)搜索结果
- ORM的概念, ORM到底是什么
- linux基础命令_Linux命令基础大全
- 要闻君说:5G手机真的来了?TCL转型科技企业!鹅厂云部门发布态势报告, DDoS攻击正式进入Tb时代!天上“跑”起出租车?...
- jmeter学习总结
- [转载] 使用Keras和TensorFlow 2.0建立深度学习模型对图像进行分类
- 给Eclipse中hibernate.cfg.xml配置文件加提示
- PBR 六 材质参数
- FMI飞马网 | AI人工智能/大数据/Database/Linear Algebra/Python/机器学习/Hadoop 有哪些书籍?福利可下载!
- 基于CISe@ZnS新型近红外二区量子点生物探针(CuInS2/ZnS量子点,Cd掺杂ZnO量子点,InP/ZnS,荧光Ag2S量子点)
- python实例属性没有init_处理init外部定义的实例属性的更好/更python方式?
- 深度学习笔记--pytorch从梯度下降到反向传播BP到线性回归实现,以及API调用和手写数据集的实现
- 服务器磁盘阵列做win7系统,win7 X64 中RIAD0的磁盘阵列怎么组建
- 【AP5904】三功能 2.5-5V 1.8A LED车灯 手电筒驱动芯片
- 她这套染色体,曾走过半个地球,记录了漫长的交配史...
- 论文阅读:Personalized Purchase Prediction of Market with Wasserstein-Based Sequence Matching
- Premiere Pro 2022 for Mac(pr2022)中文版
- JQuery 控制 radio 只读
- Laravel debugbar 开发调试使用
- 图像处理技术之三:降噪处理(中值、均值、最大值、最小值滤波、图像噪声)
热门文章
- 大饼“U”形底?ETR开始
- datax(13):源码解读Column-datax中的数据类型
- C盘清理笔记 msp文件和msi文件
- diskgenius克隆硬盘无法启动_用diskgenius成功拷出故障硬盘数据
- Xshell- Xftp评估过期处理方法
- 马云说过的计算机名言,马云说过最洗脑10名言 马云经典语录大全
- 【java】列表导出excel(支持单元格内容换行展示)
- 证明:二阶导函数大于零时为凹函数
- 用序列到序列和注意模型实现的翻译:Translation with a Sequence to Sequence Network and Attention
- win10家庭中文版自动更新解决办法