andorid 打印调用栈
发布日期:2021-06-30 21:23:23 浏览次数:2 分类:技术文章

本文共 1320 字,大约阅读时间需要 4 分钟。

在调试过程中经常会出现程序出现的结果不是我们预期的结果,那就需要加Log打印调试,看调用过程是否正确,此时就需要打印程序的调用栈,特别是Android代码相当庞大,打印堆栈更有利于我们分析问题,下面就记录下平时用到不退出程序打印堆栈的方法。

验证的方法相关简单,在Activity的类中创建一个方法ThrowException,在onCreate中调用此方法,看打印出什么

在android中如果找不到方法调用位置可以使用   打印调用栈

public void  ThrowException() {        // 调试打印堆栈而不退出        Log.d(TAG, Log.getStackTraceString(newThrowable()));        // 创建异常打印堆栈        Exception e = new Exception("this is a log");        e.printStackTrace();        // 获取当前线程的堆栈        for(StackTraceElement i : Thread.currentThread().getStackTrace()) {           Log.i(TAG, i.toString());        }        RuntimeException re = newRuntimeException();        re.fillInStackTrace();        Log.i(TAG, "stackTrace", re);        // 主动抛出异常调试        try        {            Log.i(TAG, "--------------------NullPointerException-------1");            thrownew  NullPointerException();        } catch(NullPointerException e1) {            // TODO: handle exception            Log.i(TAG, "--------------------------------NullPointerException");            Log.e(TAG, Log.getStackTraceString(e1));            // e1.printStackTrace();        }        Log.i(TAG, "--------------------------------NullPointerException-----------end");    }

1、Log.d(TAG, Log.getStackTraceString(new Throwable()));

 

Exception e = new Exception("this is a log");

e.printStackTrace();

转载地址:https://liwangjiang.blog.csdn.net/article/details/89401167 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android Mms多媒体开发 SlideshowModel
下一篇:Android STK APP流程

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月04日 11时55分20秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章