职业经验 # 每日一道面试题 # 如果应用闪退,怎么获取相关日志?

金主 for 求职面试圈 · 2017年09月29日 · 最后由 白白白 回复于 2018年04月07日 · 9641 次阅读

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
最佳回复

Android:
1.通过 adb logcat 获取,如果是 anr,还可以获取 trace 文件,然后通过开发定义的 tag 关键字去查找
2.三方平台 log 查看,什么 bugly,听云之类的
3.如果可以复现的闪退,还可以使用 debug 版本直接打 log,命令也好,工具也好都可以
。。。。。
iOS 同样:
1.手机里直接导出 log
2.三方工具导出崩溃日志
3.依旧是三方平台

基本这些就差不多可以搞定 log 了

共收到 20 条回复 时间 点赞

比较常见的回答,adb logcat 然后通过包名和关键字去查找, ios 用 xcode 查看手机是否有崩溃日志,然后通过 dysm 分析。。

这个问题我拒绝回答,我只欣赏这张图……

对 槽神 回复

我最近给外包团队招人,面试时候问这个题的基本全军覆没。面了 10 多个人了。

@Lihuazhang 我靠,我要是回答用 bugly,是不是也被 pass 啦!

对 恒温 回复

1,Android 可以 logcat 看,Android 可以开启日志记录(前提和开发协商)
2,iOS 可以嵌入 bug 系统,根据系统查看查看对应用户 id(这个面向用户)。或者直接自己跑 iOS 代码,一直插电脑然后闪退有日志(测试者)

对 恒温 回复

我是真不懂……因为我从来没有碰过移动端测试,图里面的点点点除外,所以我还是更欣赏这个图

安卓 logcat 调式,ios 连线后 xcode-Devices
ios 对于不是必现的,可以通过文件管理本地目录下找到 crash 文件

ps:细水长流 人恒之 如果你每天省下来一包烟钱,10 天后你就能买 10 包烟

对 金主 回复

bugly 是另外一种形态的,加到壳内的漏斗程序

android 除了 logcat,还可以看 dropbox 的缓存,crash 或者 anr 等问题都会缓存日志的。

—— 来自 TesterHome 官方 安卓客户端

10楼 已删除
11楼 已删除
12楼 已删除
对 恒温 回复

岂不是我这种回答也是挂的。。

安卓用 adb logcat,ios 的用腾讯的一个工具 idb,直接 idb logcat。

安卓的插上手机用 note++ 的 Android debug 插件,直接就可以读取到最近 10 万条日志,颜色漂亮美滋滋。
ios 用得少,应该也是在 ide 上面调试吧

androdi crash 和 anr 有缓存啊。。抓出来不就好了
iOS 测试的时候启动 idevicesyslog,或者出现 crash,连 xcode

我想知道有没有接近答案的答案😃

—— 来自 TesterHome 官方 安卓客户端

一般开发都会集成第三方崩溃日志收集 SDK,也可以通过 logcat 查看日志

安卓一般通过 adb logcat ,我记得有个参数是可以获取一段时间内的缓存 log ,所以 logcat 不用一直开着也行。不过出现后必须立刻检查到并执行,不然很容易被覆盖

这里说的是闪退,不是 ANR,所以不应该去找 traces 文件;
日志通过 logcat + grep 获取,如果需要更精准的,查看 PID 的变化,定位更精确的闪退位置。

Android:
1.通过 adb logcat 获取,如果是 anr,还可以获取 trace 文件,然后通过开发定义的 tag 关键字去查找
2.三方平台 log 查看,什么 bugly,听云之类的
3.如果可以复现的闪退,还可以使用 debug 版本直接打 log,命令也好,工具也好都可以
。。。。。
iOS 同样:
1.手机里直接导出 log
2.三方工具导出崩溃日志
3.依旧是三方平台

基本这些就差不多可以搞定 log 了

Android
不重启手机,立即电脑连上手机
adb shell bugreport > log.log
可以导出 x 分钟内的 log 包含了崩溃信息,大小好像是 3,4 兆不太记得了

安卓平台可以 dumpsys dropbox

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册。