Bạn cũng có thể sử dụng kết xuất lõi và sau đó kiểm tra nó bằng gdb. Để có được thông tin hữu ích, bạn cũng cần biên dịch với cờ -g
.
Bất cứ khi nào bạn nhận được thông báo:
Segmentation fault (core dumped)
một tập tin lõi được viết vào thư mục hiện tại của bạn. Và bạn có thể kiểm tra nó bằng lệnh
gdb your_program core_file
Tệp chứa trạng thái của bộ nhớ khi chương trình bị lỗi. Một kết xuất lõi có thể hữu ích trong quá trình triển khai phần mềm của bạn.
Đảm bảo hệ thống của bạn không đặt kích thước tệp kết xuất lõi thành 0. Bạn có thể thiết lập nó để không giới hạn với:
ulimit -c unlimited
cẩn thận mặc dù! rằng các bãi lõi có thể trở nên rất lớn.
Không thể gcc/gdb. Bạn có thể tìm ra _where_ segfault xảy ra, nhưng lỗi thực tế có thể ở một vị trí hoàn toàn khác. –