Android中打印代码的调用层次 (调用栈)

来源:互联网 发布:cnn图片相似度算法 编辑:程序博客网 时间:2024/06/05 08:49

在我们调试Android代码的时候,有些时候需要取得当前代码的调用层次(调用栈)。
本人现知3种方法,一种是java传统的方法,另一种是Android提供的方法,还有第三种需借助于Exeption或Throwable。

  • 第一种,通过getStackTrace()

    这种是java的传统方法,即在你的代码处,通过Thread.currentThread().getStackTrace()得到一个StackTraceElement数组,然后打印该数组。
    示例1:

    StackTraceElement st[]= Thread.currentThread().getStackTrace();for(int i=0;i<st.length;i++)System.out.println(i+":"+st[i]);

    这样你就把此处代码此时的调用层次(调用栈)打印出来了。

  • 第二种,使用android.util.Log.wtf();

    我们可以直接使用android提供的android.util.Log.wtf()系列函数来输出一个日志.在输出日志的同时,它会把此处代码此时的执行路径(调用栈)打印出来。
    示例2:

    Log.wtf(tag, "this a fake erro");
  • 第三种,借助Exception

    示例3:

      try{     cm.setPrimaryClip(ClipData.newRawUri(null, Uri.parse(text.toString())));    }catch(Exception e)    {     e.printStackTrace();    }

    示例4:

         try{      ................     }catch(Exception e)     {      Log.wtf("robin", e);     }

    注意我们其实可以直接构建Exeption或Throwable。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 前向运动精子2%怎么办 正常精子形态只有10%怎么办 精子混合畸形率高怎么办 正常形态精子才2怎么办 精子密度低至0.8怎么办 精子总活动率低怎么办 前向运动精子低怎么办 精子畸形率百分之94怎么办 实验室授权签字人考不过怎么办 万和热水器排污口漏水怎么办 万和热水器水箱漏水怎么办 军训鞋大了怎么办妙招 麽稍神经不好受怎么办 绒面高跟鞋太硬怎么办 新买的鞋子太硬怎么办 鞋底太硬脚掌疼怎么办 耐克鞋子走路吱吱响怎么办 两只鞋子有色差怎么办 劳保鞋鞋底太硬怎么办 在学校校服丢了怎么办 高中没进重点班怎么办 孩子不懂学不想学怎么办 孩子小学数学学不懂怎么办 入学籍系统提交了没分班怎么办 被监考老师抓了作弊怎么办 作弊被老师抓到了怎么办? 中考作弊给抓到怎么办 考试作弊证据没得监控怎么办 考试作弊被领导发现了怎么办 黄冈讲课视频看不了怎么办 高中学校不给转学籍怎么办 兴山香溪大酒店欠钱不还怎么办 黑坑青鱼滑口怎么办 不交物业费物业怎么办 车牌刮了一点漆怎么办 电脑光驱线坏了怎么办 做系统不读光驱怎么办 光盘放进电脑没反应怎么办 不服省高院裁定维持原判怎么办 咖啡和酒一起喝怎么办 跟法官联系不上怎么办