当前位置:   article > 正文

android studio中崩溃无法查看log?_as怎么看设备闪退日志

as怎么看设备闪退日志

android studio中崩溃无法查看log?

https://www.zhihu.com/question/32024327

android studio中崩溃无法查看log?

用AS,App崩溃(闪退)时是不显示log的,或者一闪而过,而eclipse就可以显示,这样对于查找错误带来很大的困难。问了几个用as的朋友也遇到一样…

关注者

81

被浏览

40,653

23 个回答

高爷

高爷

吾辈心中亦有惑

 

@那就这样吧

说的对,我稍微补充一下

注意右上角,选择 Show only selected application 的话,Log就只会打出来你在上面选择的那个进程

也就是上图中的com.meizu.safe

 

想看崩溃Log的话,可以选择No Filters,Log等级选成Warn,减少Log刷屏速度


然后就可以看到你期待的Crash Log了。

发布于 2015-07-10

hi大头鬼hi

hi大头鬼hi

阿里内推饿了么B&C端,Java/测试/前端/客户端大量招人

这个问题我遇到过,真机上常见,我一般都是切换到模拟器去。目前还不知道解决办法

发布于 2015-07-08

Wayen

Wayen

这个我经常遇到,确实很烦,崩溃后堆栈堆栈信息会自动清空,这时候我会打开eclipse,重现崩溃,查看logcat上崩溃信息,幸好机子配置不错,不然开个AS又开Eclipse会卡出翔

发现一个不用开eclipse也可以查看到崩溃信息的方法:从菜单的Tools打开Android Device Monitor,打开一看就是eclipse的DDMS,换个名字而已。


看桌面截图,左边是Android Device Monitor,右边是AS的logcat,这样可以同时开去查看信息,当应用发生崩溃的时候右边的logcat信息有时候是会给清除掉的,而Android Device Monitor的崩溃信息依然在的,这样就不用再打开eclipse了,对内存不足的童鞋很有用。不过需要注意的是,开了Android Device Monitor是不能打断点debug的,

编辑于 2015-07-21

logo高顿财经ACCA

广告​

知乎广告介绍

会计ACCA资料包,通宵熬夜整理,无偿分享给大家!

资料包含:2019年-2020年高顿ACCA全科目考纲解析白皮书电子版、ACCA CPA学霸笔记分享、CPA历年真题以及考试大纲、2019年12月考纲解析电子版、UOL完全版攻略。查看详情

知乎用户

知乎用户

不显示可能是因为程序被杀死了,没有了连接,所以Log都消失了。一般程序崩溃的时候都有一个提示信息,不要立即点击确定按钮,可以在查看信息之后在点击确定。这个时候的Log信息还是存在的。其实也可以写设置Application的UncaughtException实现对崩溃信息的简单处理,这样查看的话就相对麻烦,可以在发布之后使用。

编辑于 2015-07-09

MarkShaun

MarkShaun

IT、android

刚刚又出现这种情况,同事告诉了我一个方法,如图:选择 DEAD 即可看到 崩溃时的 log

发布于 2017-04-14

知乎用户

知乎用户

因为你选择了log选择看调试应用的log,你选择查看所有就有了!不管你软件退出没有,因为系统log太多避免无用信息你过滤关键字就好,直接搜索你软件的包名就出来了

发布于 2015-07-10

MetalZC

MetalZC

看到一些评论说info级别的也看不到,提供一种思路,华为、魅族对Log有限制,魅族需要设置“高级日志输出”为全部允许,而华为则需要在拨号界面输入 *#*#2846579#*#* 打开工程菜单,再将“LOG设置”中AP日志打开

发布于 2018-01-19

知乎用户

知乎用户

我也遇到过,估计是Android Studio本身的bug,目前不知道解决方案。

发布于 2015-07-08

北洛

北洛

最高赞答案在模拟器上应该是可以的,但在真机测试环境中仍然可能无法报出崩溃异常,解决方案是采用CrashHanlder捕捉,并在获取到异常后进行打印或存储,此时不要设置立刻重启app,如果是直接打印的方式,会导致log信息重置,存储到文件的方式则可能存储失败,建议捕捉到异常后不要立刻重启,在测试环境下完全可以让崩溃定格在当前页面

  1. @Override
  2. public void uncaughtException(Thread thread, Throwable ex) {
  3. if (!handleException(ex) && mDefaultHandler != null) {
  4. //如果用户没有处理则让系统默认的异常处理器来处理
  5. mDefaultHandler.uncaughtException(thread, ex);
  6. } else {
  7. try {
  8. Thread.sleep(6000);
  9. } catch (InterruptedException e) {
  10. Log.e(TAG, "error : ", e);
  11. }
  12. //退出程序并重启,可选
  13. startApp();
  14. }
  15. }
  16. private boolean handleException(Throwable ex) {
  17. if (ex == null) {
  18. return false;
  19. }
  20. //收集设备参数信息
  21. collectDeviceInfo(mContext);
  22. //使用Toast来显示异常信息
  23. new Thread() {
  24. @Override
  25. public void run() {
  26. Looper.prepare();
  27. Toast.makeText(mContext, "很抱歉,程序出现异常,即将退出.", Toast.LENGTH_SHORT).show();
  28. Looper.loop();
  29. }
  30. }.start();
  31. //保存日志文件
  32. saveCatchInfo2File(ex);
  33. return true;
  34. }
  35. /**
  36. * 保存错误信息到文件中并打印错误 日志
  37. */
  38. private String saveCatchInfo2File(Throwable ex) {
  39. Log.e(TAG, "Message: "+ex.getMessage()+"\n"+"Cause: "+ex.getCause());
  40. StringBuffer sb = new StringBuffer();
  41. for (Map.Entry<String, String> entry : deviceInfos.entrySet()) {
  42. String key = entry.getKey();
  43. String value = entry.getValue();
  44. sb.append(key + "=" + value + "\n");
  45. }
  46. Writer writer = new StringWriter();
  47. PrintWriter printWriter = new PrintWriter(writer);
  48. ex.printStackTrace(printWriter);
  49. Throwable cause = ex.getCause();
  50. while (cause != null) {
  51. cause.printStackTrace(printWriter);
  52. cause = cause.getCause();
  53. }
  54. printWriter.close();
  55. String result = writer.toString();
  56. sb.append(result);
  57. try {
  58. String fileName = "崩溃日志" + ".txt";
  59. if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
  60. if(FileUtils.createFileByDeleteOldFile(CrashPath)){
  61. LogUtils.e("崩溃日志生成成功!");
  62. File file = FileUtils.getFileByPath(CrashPath);
  63. FileOutputStream fos = new FileOutputStream(file);
  64. fos.write(sb.toString().getBytes());
  65. fos.close();
  66. //将异常信息发送到服务器,代码缺失
  67. }
  68. }
  69. return fileName;
  70. } catch (Exception e) {
  71. Log.e(TAG, "an error occured while writing file...", e);
  72. }
  73. return null;
  74. }

发布于 2017-03-09

胡维

胡维

程序员

打开命令行,adb logcat >>xxx.log
然后在log里搜 。thread exit

发布于 2015-07-25

stake-zh

stake-zh

Android -haosou-浏览器-bjtime

在log窗口的右上角有个 上Show only select application. log(凭借印象写的,具体名字肯能不是)点下 换成 all ,就可以看到了。这是ue设计问题。

发布于 2015-07-16

Freeman Liu

Freeman Liu

家有豆柴

crash之后在进程里选 http://xxx.xxx.xxx(DEAD), 会出现之前的crash信息。

发布于 2016-05-23

logo字由

广告​

知乎广告介绍

想要设计有新意?字由来拯救你!

做设计还在用默认字体?黑体宋体太普通,字由免费送你免版权字体,快来下载体验吧查看详情

停不下来的行走

停不下来的行走

Where the Trail Ends

我今天就遇到过!

魅族手机莫名奇妙的崩溃,并且没有日志!

主要是代码在其他手机都好好地啊!

扎铁了!

发布于 2017-08-31

Mr丶Lucianus

Mr丶Lucianus

努力做自己的游戏

AS 如果运行app崩溃的话,不要立刻点掉手机上的那个提示:“XX已停止运行”,不要点确定。这个时候你在AS上可以查看到异常或者bug信息。或者,你可以选择[DEAD]的那一项,来查看异常。

发布于 2017-08-18

知乎用户

知乎用户

是你们设置问题,刚才崩溃的app,日志在这里选择就可以了

编辑于 2017-03-03

时光

时光

这道题我不会做

我是加了一个全局的异常捕获,发布版的话,崩溃睡上3秒,弹出提示,重启App。调试版的话,崩溃睡上8秒,这8秒的时间足够把崩溃信息给copy下来了

发布于 2016-12-07

秦哥

秦哥

android

哎 我这直接崩溃 报的错都莫名其妙 大家说的找到了 log system 都没有打印出来

发布于 2016-11-04

知乎用户

知乎用户

发布于 2015-08-21

知乎用户

知乎用户

这个问题确实很烦。。。不过我的app集成了LeanCloud的bug反馈,每次我都去那里去看崩溃日志。。。当然要保证网络良好,同时不要老崩溃,不然就太麻烦了

发布于 2015-07-25

wxianfeng

wxianfeng

同遇到。

把手机拔掉,重新插入后好了。

发布于 2019-08-26

卓北北

卓北北

风一样的男子

.....我也碰到了,好烦啊

========================
坑爹,把360手机助手卸载了log就不会自动清除了

===================
又出现这个情况了,是在debug后按停止debug按钮后出现的,后面发现是Android标签里面的logcat不行,Debug标签下的logcat可以。猜测应该是两个竞争的原因。

编辑于 2015-07-15

logo橙色云设计

广告​

知乎广告介绍

听专家解读绿色制造政策,十大应用案例免费下载

践行绿色智能制造,橙色云携专业团队免费支持绿色转型咨询查看详情

郑国强

郑国强

安卓软件开发工程师

看一下Application中是否存在android.os.Process.killProcess(android.os.Process.myPid());类似杀死进程的代码。

发布于 2018-05-31

小小哲

小小哲

有点完美主义的选择困难症患者。

把觉得可能崩溃的地方用try catch包裹一下就不会Log闪退了。

发布于 2016-04-09

 

 

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/301037
推荐阅读
相关标签
  

闽ICP备14008679号