tailieunhanh - Kỹ thuật Debug trong C

Đối với lập trình viên, việc đề ra ý tưởng để giải quyết vấn đề đã là khó khăn, nhưng việc cài đặt được ý tưởng đó cũng không đơn giản. Đôi khi chỉ vì một dấu “;” hay sai kiểu dữ liệu cũng có thể biến bản cài đặt trở nên vô nghĩa vì không thể hiện đúng ý tưởng đề ra. Nhưng làm sao để phát hiện ra một con sâu (lỗi-bug) trong một “rừng lệnh”? Câu trả lời rất đơn giản nhưng khó thực hiện : chúng ta phải kiên nhẫn “vạch lá tìm sâu” !. | Kỹ thuật Debug trong C nvhoang@. Đối với lập trình viên việc đề ra ý tưởng để giải quyết vấn đề đã là khó khăn nhưng việc cài đặt được ý tưởng đó cũng không đơn giản. Đôi khi chỉ vì một dấu hay sai kiểu dữ liệu cũng có thể biến bản cài đặt trở nên vô nghĩa vì không thể hiện đúng ý tưởng đề ra. Nhưng làm sao để phát hiện ra một con sâu lỗi-bug trong một rừng lệnh Câu trả lời rất đơn giản nhưng khó thực hiện chúng ta phải kiên nhẫn vạch lá tìm sâu Đó là lý do tại sao chúng ta phải nắm kỹ thuật debug. Bài viết này nhằm hướng dẫn các bạn sử dụng kỹ thuật debug để tìm lỗi thông qua việc phân tích các ví dụ đồng thời cũng đưa ra một số bài tập từ dễ đến khó để các bạn có thể từng bước nắm vững kỹ thuật debug. 1 Các loại lỗi trong chương trình Lỗi sai cú pháp Đây là những lỗi sai xảy ra khi biên dịch chương trình sau khi nhấn F9 . Khi gặp lỗi này chúng ta nên nhấn Ctrl-F1 để gọi giúp đỡ hoặc xem lại tài liệu tham khảo. Ở đây không để cập chi tiết đến vấn đề này. Lỗi sai logic Khái niệm Các lỗi sai logic là những lỗi khi biên dịch trình biên dịch không báo lỗi. Những lỗi này nằm tiềm ẩn trong chương trình và làm cho chương trình của chúng ta đưa ra những kết quả không như mong muốn. Các lỗi sai logic thường xuất phát từ 2 nguyên nhân - Do nhầm nhầm chứ không sai cú pháp dẫn đến sai logic. - Do ý tưởng để giải quyết bài toán đã sai ngay từ đầu. Loại lỗi này bình thường rất khó nhận ra. Dĩ nhiên nếu tinh ý đôi khi chúng ta vẫn có thể phát hiện ra những lỗi này nhưng việc phát hiện này đòi hỏi chúng ta phải nắm rất vững cú pháp C cũng như logic của chương trình cộng thêm một chút kinh nghiệm. Tuy nhiên trong đa số các trường hợp chúng ta phải thực hiện công đoạn debug để tìm ra các lỗi sai logic này. Một số ví dụ về lỗi sai logic Sau đây là một số ví dụ về lỗi sai logic VD1 Xét hàm hoán vị 2 số nguyên_ void HoanVi int a int b int c a a b b c _ .