Maison  >  Article  >  développement back-end  >  Core dump (erreur de segmentation) en C/C++

Core dump (erreur de segmentation) en C/C++

PHPz
PHPzavant
2023-09-19 17:21:03654parcourir

Core dump (erreur de segmentation) en C/C++

Dans ce tutoriel, nous discuterons d'un programme permettant de comprendre les core dumps (défauts de segmentation) en C/C++.

Cela peut se produire parce que le code tente d'écrire sur la mémoire en lecture seule ou tente d'accéder à un emplacement mémoire corrompu.

Exemple

Modifier un littéral de chaîne

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

Accès hors des limites de l'index du tableau

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

Accès à l'adresse publiée

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

Sortie

Abnormal termination of program

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer