0

我的 android 应用程序在我的本机代码中崩溃,没有任何消息。有一次,通过检查代码,我发现问题是内存不足。这次通过检查代码我什么也没看到。对于这种情况,是否有一种通用的方法?我应该如何处理这个问题?有时它会因“0xdeadbad 处的无效地址”而崩溃,有时它会打印一个(NDK)堆栈跟踪,但我真的不知道该怎么处理它。

4

2 回答 2

1

不要依赖阅读代码来查找错误,它永远不会奏效。你最终会改变实际上是理智的代码,只会导致更多的错误......

使用ndk-gdbSEGFAULT ,它可以在没有任何断点的情况下捕捉原生问题。您必须使用调试符号编译您的二进制文件。希望自从 ndk 的最新版本以来,所有过程都非常简单。

于 2012-09-20T03:32:33.923 回答
1

请参阅如何在 Android 中使用 addr2line - 答案解释了您如何理解崩溃堆栈跟踪。

于 2012-09-20T00:27:42.383 回答