首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“进程被信号(11)终止”是否总是与NDK相关?

“进程被信号(11)终止”是否总是与NDK相关?
EN

Stack Overflow用户
提问于 2013-02-02 18:43:51
回答 1查看 6.2K关注 0票数 2

我正在跟踪我的项目中的一个bug。有时,我的应用程序会被杀死,在logcat中总是有以下一行:

D/Zygote ( xx): Process xxxx terminated by signal (11)

我一直在搜索这个错误,我总是找到提到NDK的地方。

我正在开发一个使用第三方C库的项目。我并不十分详细地了解这个库,但我可以告诉您,它可以与服务器进行某种网络通信。在我的项目中有几个Services,其中一些使用这个库。

所以我的问题是,这个错误是否总是意味着问题来自C库?

如果没有,你能给我举例说明一下Android中的Java代码,这也会导致这个错误吗?

谢谢。

编辑:顺便说一下,在logcat输出中,在上一行之前没有堆栈跟踪。

EN

回答 1

Stack Overflow用户

发布于 2013-02-03 08:45:20

最有可能的是,SIGSEGV以前在您的日志中报告过。这可能要比最后的消息早一段时间。这是日志中此类崩溃之一的实际快照:

代码语言:javascript
复制
01-29 16:00:39.124 F/libc    ( 3033): Fatal signal 11 (SIGSEGV) at 0x0000002c (code=1)
... many more ...
01-29 16:00:48.367 D/Zygote  (  116): Process 3033 terminated by signal (11)

您可以看到,Zygote在接收到致命信号后报告进程终止花费了将近10秒的时间。你的学识可能各不相同。

SIGSEGV的实际原因可能在第三方C库中,或者在Java中,或者在调用C库的方式中。例如,请注意,在引发Java异常时,禁止进行大多数JNI调用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14665200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档