Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Core Dump (Segmentation fault) trong C/C++


Trong hướng dẫn này, thảo luận core dump (segmentation fault) trong C/C++.

Xảy ra khi code ghi vào bộ nhớ chỉ đọc (read-only) hoặc truy cập vị trí bộ nhớ hỏng.

Ví dụ

Sửa đổi hằng chuỗi (string literal)

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

Truy cập vượt chỉ số mảng

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

Truy cập địa chỉ đã giải phóng

#include 
#include 
int main(void){
    int* p = malloc(8);
    *p = 100;
    free(p);
    *p = 110;
    return 0;
}

Kết quả

Abnormal termination of program