1.空指针赋值分区:
帮程序员捕获对空指针的赋值。如果进程中的线程试图读取或写入这一分区的内存地址,就会引发访问违规。
1: int* pnSomeInteger = (int*)malloc(sizeof(int));2: *pnsomeInteger = 5;
如果malloc无法分配足够的内存,那么它会返回NULL,但是代码并没有考虑这种可能,而造成的结果就是。访问禁止访问的内存地址。
2.用户模式分区:
这一分区是进程地址空间的驻地。
进程无法通过指针来读取、写入或以任何形式,访问驻留在这一分区中其他进程的数据。
3.内核模式分区:
是操作系统代码的驻地。与线程调度、内存管理、文件系统支持、网络支持一截设备驱动程序相关代买都挂在这一区域。
4.64kb禁写区:
我也不晓得干什么的。