Các phương pháp sẽ phụ thuộc vào loại vấn đề.
Nói chung " Cách đặt câu hỏi theo cách thông minh " của Eric S. Raymond và Rick Moen đôi khi là một lời khuyên hữu ích để tập trung vào vấn đề và kiểm tra xem bạn có nghĩ về những phần quan trọng của vấn đề không.
Nguồn thông tin đầu tiên của bạn trong quá trình gỡ lỗi là các logfiles mà hệ thống / ứng dụng của bạn ghi. Nơi phổ biến cho họ là thiết bị đầu cuối của bạn hoặc một tập tin trong /var/log/
. Nhiều ứng dụng hỗ trợ các loại loglevels khác nhau mà bạn nên tăng nếu bạn không thể tìm thấy bất kỳ tin nhắn có thể sử dụng. Thường có một -v
công tắc dài để nhận được nhiều tin nhắn hơn.
Vẫn không có gì có thể sử dụng? Kiểm tra các tệp cấu hình của bạn, quyền của các tệp mà ứng dụng cần và chẳng hạn, bạn có thể phải thay đổi cấu hình của systemlogger của mình chẳng hạn /etc/syslog-ng.conf
.
Nếu bạn có một thông báo lỗi, một tìm kiếm google thường sẽ dẫn đến các mục nhập bảng tin hoặc các bài đăng usenet thảo luận về các vấn đề đằng sau nó. Có khả năng là bạn có thể tìm thấy một giải pháp ở đó. Danh sách gửi thư của người dùng dự án, bảng tin và các kênh IRC cũng có thể rất hữu ích.
Đôi khi các ứng dụng bị sập mà không có tin nhắn nào. Một công cụ tuyệt vời để khám phá luồng ứng dụng, bên cạnh việc đọc và sửa đổi mã là strace
.
Công cụ này sẽ theo dõi các cuộc gọi hệ thống và tín hiệu. Khi ứng dụng bị lỗi, bạn vẫn có thể phát hiện ra các vấn đề trong hệ thống.
Một cách tiếp cận khác sẽ được gỡ lỗi ứng dụng với gdb
. Bạn nên là người dùng nâng cao và biết phải làm gì, sử dụng cái này.