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

Làm thế nào để gỡ lỗi một lõi trong C / C ++?


Quá trình hủy lõi khi nó bị hệ điều hành chấm dứt do lỗi trong chương trình. Lý do điển hình nhất mà điều này xảy ra là chương trình đã truy cập một giá trị con trỏ không hợp lệ như NULL hoặc một số giá trị ngoài vùng nhớ của nó. Là một phần của quá trình đó, hệ điều hành cố gắng ghi thông tin của chúng tôi vào một tệp để cho phép chúng tôi phân tích những gì đã xảy ra.

Lõi này có thể được sử dụng như sau để chẩn đoán và gỡ lỗi chương trình của chúng tôi -

Theo mặc định, lõi được kết xuất vào thư mục / proc / sys / kernel. Để gỡ lỗi một lõi, chương trình phải được biên dịch với tùy chọn -g. Sau khi bạn có gdb lõi chạy -

$ gdb  nameOfExecutable core

Thao tác này sẽ mở lõi trong gdb và bây giờ bạn có thể tiếp tục gỡ lỗi của mình. Nếu bạn không biết cách sử dụng gdb, bạn có thể sử dụng liên kết này để tìm hiểu thêm:https://www.ibm.com/developerworks/library/l-gdb/