android – Segmentation Fault中’code’的含义是什么?

我在 android中看到了这2个分段错误.
一个说SEGV_MAPERR,另一个说SEGV_ACCERR.

你能告诉我这两个有什么不同吗?

signal 11 (SIGSEGV),code 1 (SEGV_MAPERR),fault addr 41963214

signal 11 (SIGSEGV),code 2 (SEGV_ACCERR),fault addr 4006e000

谢谢.

解决方法

siginfo.h

SEGV_MAPERR表示您尝试访问未映射到任何内容的地址.

SEGV_ACCERR表示您尝试访问您无权访问的地址.

因此,在这两种情况下,您都访问了一个您不应该拥有的地址,这可能是您的实际代码唯一有害的地址.在前一种情况下,无论如何在该地址范围内都没有记忆.在后一种情况下,该地址范围内有内存,但您不拥有它.

如果您要访问随机地址,那么您获得的取决于操作系统在此时如何设置您的流程.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...