在android中生成核心转储

我正在使用一些共享来开发android的应用程序
由我编写并使用ndk-r5b编译的库.该应用程序工作,
y和对库的调用也有效,但是我发现了一些错误,
分段故障,我需要调试它,但是,我不知道怎么调试
来自android的本机代码,我不知道我是否可以生成核心转储,
在linux中,用于调试我的库.

任何想法?

解决方法:

ndk附带了ndk-gdb,据说可以让你调试本机应用程序.此外,如果您下载整个andriod开源项目,他们也有一些用于调试的gdb版本.查看ndk的docs /文件夹以了解如何使用它.本教程也可能有用:http://vilimpoc.org/blog/2010/09/23/hello-gdbserver-a-debuggable-jni-example-for-android/

但是,正如我最近提出的一个问题所示:Running ndk-gdb with package not found error on motorola phone我仍然无法让它发挥作用.

编辑:您在评论中说过您使用的是三星设备:三星决定破坏本机调试所需的一些关键内部设备,但如果您拥有该设备的root权限,则可以轻松修复.如果使用–verbose标志,您可能会发现错误不同,包未知错误.那是因为它正在查找/data/system/packages.list,但是三星将该文件重命名为/dbdata/system/packages.list.因此,如果您在/data/system/packages.list中创建了一个符号链接,(需要root访问权限),它应该可以工作.或者至少如此声称ndk邮件列表:http://osdir.com/ml/android-ndk/2011-03/msg00036.html

上一篇:关于ava容器、队列,知识点总结


下一篇:如何调试Java OutOfMemory异常?