我正在尝试优化 native 代码。我尝试使用 Debug.startMethodTracing() 和 Debug.stopMethodTracing()。但它只分析 java 函数,不分析 native 代码。我们从 java 代码进行的 native 调用只是在那个时候显示,内部 native 调用没有显示。我在 Debug模式下构建了 native 库,即使那样我也无法分析 native 代码。
在 stackoverflow 中我得到了这些链接,但这些对我来说也没什么用,请帮助我分析 native 代码。我正在开发用于在 Android 上开发应用程序的发布电话。所以,我无权访问 android 源代码。请指导我。
链接:
1) dmtracedump doesn't work, HELP!
2) Android native code profiling
3) http://developer.android.com/guide/developing/debugging/debugging-tracing.html
D:\Profiling>dmtracedump -o D:\Profiling\EvrcEncoderProfiling.trace
错误:无法从跟踪文件中读取 42170 字节
D:\Profiling>traceview D:\Profiling\EvrcEncoderProfiling.trace
D:\分析>
Traceview 正在运行,但 dmtracedump 未运行。
感谢和问候,
S苏曼185
最佳答案
But its profiling only java functions, its not profiling the native code.
正确。这就是 Traceview 所能做的所有事情,因为跟踪文件将只有 Dalvik 信息。
Traceview is working but dmtracedump is not working.
虽然我不知道为什么它对您不起作用(我从未使用过它),但它不会比 Traceview 更深入地了解您的 native 代码。
据我所知,您将需要以老式的方式分析您的 native 代码:通过收集和记录时间。
关于android - 无法分析 android native 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308084/