Computer >> Máy Tính >  >> Lập trình >> lập trình C

Core Dump (Lỗi phân đoạn) trong C / C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình để hiểu về kết xuất lõi (lỗi phân đoạn) trong C / C ++.

Điều này xảy ra do những lý do như khi mã cố gắng ghi trên bộ nhớ chỉ đọc hoặc cố gắng truy cập vị trí bộ nhớ bị hỏng.

Ví dụ

Sửa đổi một chuỗi ký tự

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

Truy cập ngoài giới hạn chỉ mục mảng

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

Truy cập một địa chỉ được giải phóng

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

Đầu ra

Abnormal termination of program