2014-08-28 64 views
0

我拉我的頭髮,試圖瞭解Android對象的生命週期和調試我的代碼。在閱讀了關於Activity s,Fragment s和Service s的生命週期的數百個問題之後,我得出結論,混淆是大多數Android開發人員在這方面的自然狀況,這在某種程度上讓我感到安慰。如何選擇性地記錄調用堆棧

我已經在我的版本中包裝了android的Log.x()函數,LOG.x()它接受附加參數,所以我可以根據標記過濾記錄什麼,但是我想進一步擴展它以便我可以檢查實時調用圖。

目前,我必須在方法開始時調用數百個LOG.x()調用。這與旗幟,幫助了我很多。但它仍然有點短:

這將是很好,如果我能看到一個實時分層樹/列表(過濾)調用。

我很驚訝我還沒有見過這樣的事! 有沒有工具可以做到這一點?

如果不是,那麼寫這個的好方法是什麼?我想打電話Log.x()現在不足,顯然不是這個意思。我正在考慮編寫一個eclipse插件,並使用System.outprintln()調用或類似方法來獲取數據。但這將成爲一項巨大的工作。

然後有實際確定哪些方法調用哪些方法等問題。

任何意見將是巨大的 感謝

回答

0

有這樣的事的printStackTrace(),它可以幾乎無處不使用:

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

另外,我覺得你在想什麼是一個非交互式調試器。因爲我們有互動的,所以不需要一個。