1. Kiến thức trọng tâm
Gỡ lỗi (debugging) là quá trình tìm và sửa các lỗi trong chương trình để chương trình chạy đúng như mong muốn.
Có ba loại lỗi thường gặp:
- Lỗi cú pháp: lỗi do viết sai quy tắc của ngôn ngữ lập trình, ví dụ thiếu dấu hai chấm, sai chính tả tên lệnh, thiếu dấu đóng ngoặc. Máy tính thường báo ngay loại lỗi này và chương trình không chạy được.
- Lỗi logic: chương trình vẫn chạy được nhưng cho kết quả sai vì thuật toán chưa đúng, ví dụ dùng phép cộng thay cho phép nhân, hoặc kiểm tra điều kiện ngược. Lỗi logic khó phát hiện nhất vì máy tính không báo lỗi.
- Lỗi khi chạy (lỗi thời gian chạy): chương trình đang chạy thì dừng đột ngột, ví dụ chia cho số 0, truy cập vào dữ liệu không tồn tại.
Các bước gỡ lỗi:
- Đọc kĩ thông báo lỗi của máy tính để biết lỗi ở dòng nào.
- Kiểm tra lại thuật toán xem các bước đã đúng và đủ chưa.
- Chạy thử với dữ liệu đơn giản, dễ kiểm tra bằng tay.
- Theo dõi từng bước chạy của chương trình để tìm chỗ sai.
- Sửa từng lỗi một, chạy thử lại sau mỗi lần sửa.
2. Ví dụ minh họa
Ví dụ: Chương trình tính trung bình cộng của hai số 8 và 6 phải cho kết quả 7, nhưng chương trình của em cho kết quả 14. Cách gỡ lỗi:
- Kiểm tra công thức: em viết (8 + 6) × 2 = 28 rồi chia cho 2 được 14. Công thức đúng phải là (8 + 6) / 2 = 7.
- Đây là lỗi logic: dùng phép nhân thay cho phép chia.
- Sửa công thức thành (8 + 6) / 2, chạy thử lại, kết quả đúng là 7.
Kết quả: lỗi được sửa, chương trình cho kết quả đúng.
3. Ghi nhớ
- Gỡ lỗi là tìm và sửa lỗi để chương trình chạy đúng; chương trình mới viết thường có lỗi.
- Ba loại lỗi: lỗi cú pháp, lỗi logic và lỗi khi chạy; lỗi logic khó phát hiện nhất.
- Gỡ lỗi theo các bước: đọc thông báo lỗi, kiểm tra thuật toán, chạy thử với dữ liệu đơn giản, theo dõi từng bước, sửa từng lỗi một.
