Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

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