如何解决使用NDK本机代码的应用会掉线我如何找出原因?
| 我的应用程序使用NDK(在我的情况下为4r-crystax)从相机获取图像。问题是,它在工作几分钟后就掉下来了。我猜可能会有一些内存泄漏之类的事情,但是我不知道如何找出问题所在。这是关于此错误的日志:04-14 23:07:37.133: INFO/NATIVE CODE(14895): Detection percentage counted.
04-14 23:07:37.163: DEBUG/MDDetectorView(14895): Some debug info
04-14 23:07:37.193: DEBUG/dalvikvm(14895): GC_EXTERNAL_ALLOC freed 19 objects / 872 bytes in 27ms
04-14 23:07:37.283: INFO/NATIVE CODE(14895): Image to proccess loaded.
04-14 23:07:37.493: INFO/ActivityManager(92): Process com.motiondetector (pid 14895) has died.
04-14 23:07:37.493: DEBUG/CameraService(67): Client::~Client E (pid 67,client 0xad08)
04-14 23:07:37.503: INFO/WindowManager(92): WIN DEATH: Window{46590698 com.motiondetector/com.motiondetector.MDMenuActivity paused=false}
04-14 23:07:37.513: ERROR/CameraService(67): getClientFromCookie: client appears to have died
有任何想法吗?有什么有用的工具可以帮助我找到答案吗?
在处理本机代码期间,Android是否有可能杀死屏幕活动?
解决方法
如果您使用的是NDK r5或更高版本,则可以使用
ndk-gdb
脚本来运行程序并通过GDB连接到该程序。如果您的本机代码崩溃了,它应该使您进入GDB命令行,在这里您可以检查引起问题的代码区域。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。