您当前的位置:中国健康招商网资讯正文

想反馈bug但不知道怎么说带上「日志」让开发者更懂你

放大字体  缩小字体 时间:2019-08-22 15:33:19  阅读:6812+ 作者:少数派

原标题:想反应 bug 但不知道怎么说?带上「日志」让开发者更懂你

运用翻开就闪退了,这个问题能不能修一修?

手机里的运用多了,遇到 bug 也是在所难免的事。但遇到问题后假如你像最初这样向开发者反应问题,那你八成也难以得到直接的处理方案——无论是「闪退」「报错」仍是其他常见问题,咱们能够看见的其实都只是终究的出现成果,并非导致问题的中心原因。

想让开发者帮你更好地定位并处理遇到的问题,正确地抓取 log 文件是一项必不可少的技术。

Log 文件是什么?

Log 是用来记载设备运转活动的日志,运用有运用的运转日志,体系有体系的运转日志……所以出现问题的时分,就需求咱们找对应的日志。

一般来说,常见的体系 log 文件分为三种:Logcat,dmesg 以及 ramoops。它们的差异大致如下:

  • logcat 是当之无愧的 Android 体系日志,记载体系的反常行为,比较常用;
  • dmesg 是内核日志,具体记载了每一个子体系(subsystem)的活动;
  • ramoops 是内存相关的日志,往往用于查询设备的意外重启。

一般的开发者需求前两种 log 比较多,假如不确认自己应该提交什么类型的 log,无妨先用适宜的言语问询开发者。

获取 Log 文件其实很简单

一般来说有两种获取 log 的方法:1、经过运用获取(需求 root 权限,包括一切类型);以及经过 Android 调试桥(即 ADB,仅适用于 logcat 和 dmesg,获取 dmesg 依然需求 root 权限)。

经过运用来获取 Log获取 logcat

  1. 获取一个 logcat 运用,比方说 或是 ,这儿以 Matlog 为例。
  2. 下载翻开并颁发其 root 权限,这时在运用的主页面就会显现出此刻的日志。
  3. 点击右上角的「三个点」菜单按钮,点选 File,再点选 Record。
  4. 这时 Matlog 会弹出 log 命名对话框,默许的命名是「日期+时刻」,此日志会保存在内部存储 /matlog/savedlogs/ 下。
  5. 点击确认之后就能够将 Matlog 放在后台,去复现过错了。
  6. 成功复现过错之后回到 Matlog,点击右下角的「中止」按钮,这时 Matlog 会将方才录制的 logcat 显现在屏幕上。点击右上角菜单按钮挑选 Share 即可将运用日志 logcat,内核日志 dmesg 以及本机信息打包共享出去。

获取 dmesg

除了经过 Matlog 获取打包的 dmesg,运用终端(Terminal)也是获取内核 log 的一种好办法。

  1. 首要,仍是要获取一个终端模拟器运用,比方说咱们之前介绍过的 Termux。
  2. 运用指令 su 获取 root 权限,键入指令 dmesg > /sdcard/test.log。
  3. 完结之后 dmesg 就会保存在内部存储根目录下,名为 test.log 的文件中。
获取 ramoops
  1. 首要要先获取一个能够拜访体系目录的文件浏览器,比方 Mixplorer 等。
  2. 在文件管理器中定位到 /sys/fs/pstore 并找到 console-ramoops 或许 console-ramoops1 等相似文件。
  3. 将这个文件仿制到内部存储,并提交给开发者。
经过 ADB 来获取 log 文件

1、首要在电脑上装备 ADB 环境,装备的文章能够参阅咱们之前的文章: 、。

关于仿制途径,Windows 能够点击上方途径栏并进行仿制粘贴;macOS 则需求先挑选「显现」 - 「显现途径栏」之后在途径栏上右键,并仿制地址。

2、敞开「开发者选项」中的「USB 调试」。

3、将你的设备经过 USB 衔接到电脑。

4、在终端中键入 cd 以进入该文件夹,这儿要将替换为解压出来的文件夹的途径。

在终端中能够运用 adb devices 或许 ./adb devices 来查看设备的衔接状况,假如回来了如图所示的提示,那么阐明设备现已成功衔接。

5、运用此指令 adb logcat -c 或许 ./adb logcat -c 来整理 logcat 缓存

6、获取 log 文件:

获取 logcat 请输入:adb logcat -d > test.log 或许 ./adb logcat -d > test.log

获取 dmesg 请输入:adb shell dmesg > test.log 或许 ./adb shell dmesg > test.log

生成的 log 文件会存放在 ADB 东西文件夹(默许即 platform-tools)下。

最终,即使无法获取 log 文件,也能够在向开发者报告 bug 时附上能够安稳重现的过程或是对于此 bug 的具体描述,至少能够协助开发者做出开始的挑选。

结语

遇到问题的时分,优先寻求搜索引擎或许社群里的其它成员是比较适宜的方法,并且很大概率能够处理问题,这是由于这些问题往往不只是在自己身上发作可是当你付出了一些测验,依然没有处理问题的时分,向开发者求助就成为你的首选了。

一般运用都会内建反应途径主动发送运用运转的 log,或许是会附上参加社群的联络方法、运用的官方交际帐号、电子邮件等,经过这些途径都能够直接联络到开发团队,而假如当你运用的是第三方内核、ROM 时,也能够去论坛发帖处留言,或许参加开发者创立的社群里直接联络,供给 log。

要信任,优异的开发团队一定会欢迎、注重并感谢这些有价值百科的反应。

相关阅览:

  • 《作为一名 App 爱好者,怎么正确地向开发者反应问题?》

参阅资料:

> 下载少数派 、重视 ,了解更多有用的玩机常识

“如果发现本网站发布的资讯影响到您的版权,可以联系本站!同时欢迎来本站投稿!