【问题标题】:How to selectively log call stack如何有选择地记录调用堆栈
【发布时间】:2014-10-22 06:34:12
【问题描述】:

我正在努力理解 android 对象的生命周期并调试我的代码。在阅读了关于Activitys、Fragments 和Services 生命周期的数百个问题后,我得出的结论是,对于该领域的大多数 Android 开发人员来说,困惑是自然状态,这让我感到欣慰在某种程度上。

我在我的版本中包装了 android 的 Log.x() 函数 LOG.x(),它接受额外的参数,因此我可以根据标志过滤记录的内容,但我想进一步扩展它,以便我可以检查实时调用图.

目前,我必须在方法的开头调用数百个LOG.x()。有了这些标志,这对我帮助很大。但还是有点不足:

如果我能看到 (过滤的)调用的实时分层树/列表,那就太好了。

我很惊讶我从未见过这样的东西! 有什么工具可以做到吗?

如果不是,那么写这篇文章的好方法是什么?我认为现在打电话给Log.x() 不够用,显然不是为了这个。我正在考虑编写一个 Eclipse 插件,并使用System.out 的println() 调用或类似方法来获取数据。但这将成为一项巨大的工作。

然后是实际确定哪些方法调用哪些方法等等的问题。

任何建议都会很棒 谢谢

【问题讨论】:

    标签: java android stack logcat


    【解决方案1】:

    有一个 printStackTrace() 这样的东西,它几乎可以在任何地方使用:

     public static void printStack() {
        Throwable throw = new Throwable();
        throw.printStackTrace();
     }
    

    另外,我认为您正在考虑的是一个非交互式调试器。不需要,因为我们有交互式的。

    【讨论】:

      猜你喜欢
      • 2015-05-29
      • 2011-04-23
      • 1970-01-01
      • 2021-06-24
      • 2012-03-04
      • 2021-02-07
      • 2010-10-10
      • 2011-04-06
      • 2013-02-01
      相关资源
      最近更新 更多