android - 无法分析 android native 代码

标签 android profiling android-ndk performance

我正在尝试优化 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/

相关文章:

java - 重复替换String中的字符

不带序列化的 Java 深度复制

android - 每次我进行一些更改时,都会出现 android lint 错误...为什么会这样?

Android Eclipse : Traceview, 我只是不明白

android - 使用 NDK 打开 GPS

android - 如何在android中为wav文件添加回声效果?

Android Facebook-SDK

java - Java 分析中的线程与加载类

python - Pandas:如何将 cProfile 输出存储在 Pandas DataFrame 中?

java - Cocos2D-x Eclipse java.lang.UnsatisfiedLinkError 错误