如何有选择地记录调用堆栈

时间:2014-08-28 11:50:54

标签: java android stack logcat

我正在试着理解android对象的生命周期并调试我的代码。在阅读了ActivityFragmentService s生命周期的数百个问题之后,我得出结论,混淆是大多数Android开发人员的自然状态。这个区域,在某种程度上让我感到安慰。

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

目前,我必须在方法的开头有数百个LOG.x()个调用。带旗帜的这对我帮助很大。但它仍然有点短:

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

我很惊讶我没见过这样的东西! 有没有工具可以做到这一点?

如果没有,那么写这个的好方法是什么?我认为呼叫Log.x()现在正在缩短,显然不是这个意思。我正在考虑编写一个eclipse插件,并使用System.out的{​​{1}}调用或类似的方法来获取数据。但这将成为一项巨大的工作。

然后就是实际确定哪些方法称为哪种方法等问题。

任何建议都会很棒 感谢

1 个答案:

答案 0 :(得分:0)

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

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

另外,我认为您所考虑的是非交互式调试器。没有必要,因为我们有互动的。