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

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

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

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

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