linux mmap出现Address 0x7ffff7ff6000 out of bounds>

原创 2015年07月09日 10:29:21
 **mmap.c**
  1 #include <stdio.h>
  2 #include <fcntl.h>
  3 #include <signal.h>
  4 #include <sys/mman.h>
  5 #include <unistd.h>
  6 #define FILESIZE 8192
  7 
  8 int main()
  9 {
 10     int i;
 11     char *p, tmp;
 12     struct stat sb;
 13     int fd = open("1.txt", O_RDWR | O_CREAT, S_IRUSR|S_IWUSR);
 14     p = (char*)mmap(NULL,FILESIZE, PROT_READ|PROT_WRITE,MAP_SHARED, fd, 0);
 15     for (i=0; i<10; i++) {
 16         p[i] = 'a';
 17     }
 18     close(fd);
 19     munmap(p, FILESIZE);
 20     printf("ok\n");
 21     return 0;
 22 }

gcc mmap.c生成执行程序a.out, 运行a.out会出现总线错误 (核心已转储)

(gdb) p p 
$2 = 0x7ffff7ff6000 <Address 0x7ffff7ff6000 out of bounds>

用gdb去调试它会发现line 14映射的地址p有问题,而导致p有问题的原因是因为映射的文件1.txt的大小为0,也就是个空文件,修改方法很简单,让1.txt大小不为0就可以了。

mmap函数原型介绍

相关文章推荐

Using GDB <Address 0xffffffff out of bounds>

Using GDB I present a quick "howto" on using GDB to debug programs in a UNIX environment. Your sit...

善用GDB 调试一些函数栈被毁坏的问题

最近差一些问题,这些问题的现象一开始难以解释,函数的参数地址在函数内部被传递给另外的函数,然后发现地址发生了改变,这样的情况称之为函数的栈被毁坏,导致无法重入。 然后被调用的函数里面,访问了非法的地...

Out-of-Bounds Memory References and Buffer Overflow

callee: pushl  %edp                               save %edp on stack movl   %esp, %edp pushl  %eb...
  • tietao
  • tietao
  • 2013年01月01日 15:08
  • 2070

iOS7's subview trimmed if out of parent view bounds

iOS7's subview trimmed if out of parent view bounds bringSubviewToFront problem? 1. ...

Unable to handle kernel paging request at virtual address 0x7e005070 解决办法

有点标题党的味道了~  对于readl() 和 inl() 读取I/O端口报错的探究 给s3c6410的RTC写demo driver的时候遇到这个问题... 如...

0x7c92e4ff 处最可能的异常: 0xC0000008: An invalid handle was specified 的原因与解决方案

对照网上的示例(网上CDirTreeCtrl的示例很多,但是绝大部分都有让人难以接受的BUG,我推荐一个名为DriveExplorer的Demo,能从CSDN下载到)以CTreeCtrl为基类继承了一...

VS2017 远程调试linux出现的错误:Cannot access memory at address 0x570

描述新建的linux默认工程#include int main() { printf("hello from linux_test!\n"); return 0; }编译时没有任何问题...

win7中delphi与svn冲突的解决(system exception (code 0xc0000008) at 0x7c91e4ff)

问题 昨天更新了代码,小组成员均可正常运行程序。 而lt下载了源码运行程序,可是“打开XX”功能一点击,程序就崩溃了。异常也并非来自的程序本身而是系统的异常。 异常类似如下图: 他...

NDK开发错误 use of invalid jobject 0x7fb147b460

JNI中直接返回C/C++的字符串时会报如下错误 JNI DETECTED ERROR IN APPLICATION: use of invalid jobject 0x7fb147b460 07-1...

Xcode7中使用gitHub管理代码时出现The local repository is out of date错误的解决方法

首先这个问题是本地的分支和gitHub中的分支不同步引起的错误。 首先最好是在新建项目时创建分支直接同步,那样的话就不会引起这种错误。 但是如果在新建的时候没有创建git请按照下面步骤如果已经有.gi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux mmap出现Address 0x7ffff7ff6000 out of bounds>
举报原因:
原因补充:

(最多只允许输入30个字)