C/C++ 中的核心转储(段错误)


本教程将讨论一个了解 C/C++ 中核心转储(段错误)的程序。

它发生的原因包括代码尝试写入只读内存或尝试访问损坏的内存位置。

示例

修改字符串文本

int main(){
   char *str;
   str = "GfG";
   *(str+1) = 'n';
   return 0;
}

访问超出数组索引范围

#include <iostream>
using namespace std;
int main(){
   int arr[2];
   arr[3] = 10;
   return 0;
}

访问已释放的地址

#include <stdio.h>
#include<alloc.h>
int main(void){
   int* p = malloc(8);
   *p = 100;
   free(p);
   *p = 110;
   return 0;
}

输出

Abnormal termination of program

更新于: 2020 年 3 月 16 日

5,000+ 浏览

开启你的 职业

完成课程来获得认证

开始操作
广告