Lỗi Segmentation Fault (core dumped) là lỗi gì?

Mình mới lập trình trên linux thì bị lỗi Segmentation Fault (core dumped). Mình tìm trên Google rồi mà không có.

Thường là chạy nhầm trên vùng nhớ nào đó, hoặc tràn bộ đệm. Bạn dùng ngôn ngữ gì vậy :grinning:

3 Likes

Mình dùng ngôn ngữ c, mà mình tìm ra giải pháp rồi, cảm ơn bạn đã quan tâm nha :smiley:

chào @Never is too late! , giải pháp của bạn là gì vậy :smiley:

Thường là do pointer đang trỏ sai, mở debug (GDB/Visual studio) xem những chỗ khả nghi .

2 Likes

khi mình chạy code thì có thi thoảng nó mới bị lỗi như vậy, có những nguyên nhân nào gây ra lỗi này vậy @Dark.Hades , mình chưa hiểu rõ về bug này lắm.

Code bạn có dài không?
Nếu ngắn thì đưa lên đây thử, còn dài thì tốt nhất là bật debug, tìm đoạn bạn sử dụng con trỏ cảm thấy nghi ngờ rồi xóa đi thử

2 Likes

code dài thiên thu :smile: thank bạn nhiều nha.

lỗi segmentation fault là do các dài hả mấy a chị
tình trạng khắc phục thì mình làm sao ạ

Ý nói là code dài thì không ai tìm hộ ấy mà.

Segfault là lỗi truy cập bộ nhớ do một là đọc ghi ngoài mảng (tính sai chỉ số mảng hay sai cận), hai là lỗi liên quan đến con trỏ (viết sai, dùng con trỏ chưa khởi tạo, double-free, đọc ghi những chỗ đã free() rồi), ba là ghi lên const (như literal string), bốn là lỗi sử dụng tham biến (như scanf) như bị dư tham số (vẫn là scanf/printf).

3 Likes

mình dùng free pascal, mình cũng bị lỗi này, nhg mà ko biết sửa như nào, bạn nào biết thì giúp mình với

Bạn up code lên nhé.

mình debug đến chỗ này thì bị nè

Chỗ này của bạn là dòng nào?

Up code lên chứ đừng up screenshot.

1 Like


Bạn xem giúp mình với mình đang nhập vào dữ liệu mình nhập số phần tử là 3 nhưng sau khi nhập xong 2 phân tử thì không nhập được nữa , mình debug sau khi nhập xong 2 phần tử thì nó báo lỗi như mn ở trên
cảm ơn bạn

Con trỏ p đang bằng NULL.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?