如何在Android上使用startMethodTracing API?

时间:2010-05-20 05:21:31

标签: android trace

我最近开始研发一款兼具Java和Java的应用程序 本机组件。我正在尝试为两者生成跟踪信息 使用Debug.startMethodTracing("myapp")和。的组件 Debug.startNativeTracing()交替进行。但是,两者的表现都出乎意料。

当我使用Debug.startMethodTracing("myapp")时,我可以看到正在创建的文件/sdcard/myapp.trace,但无论我运行多长时间,它总是空的。当我使用Debug.startNativeTracing()并使用-trace <tracename>开关启动模拟器时,我看到一条消息说“Trace started”,但是当我尝试运行我的应用时, 模拟器崩溃。

我错过了一些明显的东西吗?如何调试此问题?

1 个答案:

答案 0 :(得分:5)

当我遇到这种情况时,这是因为我的启动/停止配对不匹配。例如,如果您启动方法跟踪但从不停止,我认为Android根本不会将缓冲的跟踪信息写入文件。同样地,如果你在中间有一个额外的停止,或者从不开始,等等,你将无法获得理想的结果。

除了该方法之外,跟踪对我来说还不错。

另一方面,

本机跟踪似乎不受支持(仍然),因为当我尝试将本机跟踪结果加载到traceview时,我收到错误“Qemu跟踪文件尚未支持”。 (谷歌对此有何评论?)

  • 克里斯