2010-05-20 46 views
5

我最近開始研究一個既有Java又有 本地組件的應用程序。我正在嘗試交替使用Debug.startMethodTracing("myapp")Debug.startNativeTracing()生成 組件的跟蹤信息。但是,兩者都表現出意外。如何在Android上使用startMethodTracing API?

當我使用Debug.startMethodTracing("myapp")時,我可以看到正在創建的文件/sdcard/myapp.trace,但無論我運行我的應用程序多久,它總是空的。當我使用Debug.startNativeTracing()並使用-trace <tracename>開關啓動模擬器時,我看到一條消息,說「跟蹤開始」,但是當我嘗試運行我的應用程序時, 模擬器崩潰。

我在這裏錯過了一些明顯的東西嗎?我如何調試這個問題?

回答

5

當我發生這種事情發生在我身上時,這是因爲我有不匹配的開始/停止對。例如,如果您啓動方法追蹤但從未停止,我認爲Android根本不會將緩衝的追蹤信息寫入文件。同樣的,如果你在中間有一個額外的停留點,或者從未開始等,你不會得到預期的結果。

除此之外,追蹤對我來說工作得很好。

另一方面,原生跟蹤似乎不被支持(仍然),因爲當我嘗試將本機跟蹤結果加載到跟蹤視圖時,出現「Qemu跟蹤文件不支持」錯誤。 (任何在從谷歌?評論)

  • 克里斯
+0

最重要的是,我想的是,如果你簡單地調用停止之前完成()的活動,跟蹤不會停止,你不會得到一個完整的文件。 – 2010-12-26 18:22:16

相關問題