Exercise 4 Lập Trình C – Learn C The Hard Way


Exercise 4: Introducing Valgrind

Xin chào mọi người, bài học hôm nay rất quan trọng và mọi người cần tập trung nghiên cứu nhé. Valgrind, các bạn đã từng nghe chưa? Mình dám cá là nếu các bạn chỉ học lập trình C dùng các IDE như Visual Studio thì các bạn chưa nghe đâu. Còn những bạn pro thì mình không nói nhé :)).

Đây phải nói là công cụ quá tuyệt vời để tìm kiếm và sửa lỗi code C. Sau này nếu theo, chắc các bạn phải sống chết với nó!!!

Mục đích của bài này không phải giúp cho các bạn một phát trở thành chuyên gia và am hiểu luôn Vagrind. Các bạn có thể không hiểu cũng không sao. Nhưng các bạn phải nắm được cách cài đặt và sử dụng Valgrind là như thế nào. Vào thẳng vấn đề luôn nhé!

Cài đặt Valgrind

Đầu tiên các bạn phải truy cập trang chủ valgrind để tải source code về.

Valgrind Home

Các bạn làm theo các bước sau:

# unpack it.
tar -xjvf <file name>tar.bz2
# cd into the newly created directory
cd <valgrind folder>;
# configure it
./configure
# make it
make
# install it (need root)
sudo make install

Sử dụng Valgrind

Đến phần quan trọng rồi, các bạn hãy tạo Makefile với nội dung sau (Nhớ là đặt tên là Makefile, không có đuôi mở rộng nhé!):

Nhắc lại chú ý: Trong Makefile chỉ sử dụng dấu TAB thôi nhé!

CFLAGS=-Wall -g

clean:
        rm -f ex1

Tiếp theo hãy tạo file ex4.c như sau:

#include <stdio.h>

/* Warning: This program is wrong on purpose. */

int main()
{
    int age = 10;
    int height;
    
    printf("I am %d years old.n");
    printf("I am %d inches tall.n", height);

    return 0;
}

Biên dịch file ex4.c bằng lệnh sau và các bạn sẽ thấy những cảnh báo:

make ex4

Và tiến hành chạy file ex4 mới được tạo ra bằng lệnh sau, dùng valgrind và sẽ thấy những sự khác biệt nếu chạy bình thường:

valgrind ./ex4

Ok! Điều quan trọng bây giờ các bạn phải đọc xem có hiểu những gì mà nó hiện ra không nhé, đừng lo nếu bạn không hiểu gì. :)). Gợi ý là các bạn hãy xem dòng 11 của đoạn code C nhé, lỗi toàn nằm ở đó, và đọc lại một lần nữa xem sao!

Vậy là xong bài học hôm nay.

Reseach

1. Các bạn hãy fix đoạn code C đi nhé để valgrind không báo lỗi nữa.

2. Hãy đọc thêm về valgrind trên internet.

3. Các bạn hãy mở source code của valgrind lên và đọc Makefile của nó, tập đọc cho quen nhé )), Makefile của nó kinh khủng lắm!

END

 

3 thoughts on “Exercise 4 Lập Trình C – Learn C The Hard Way

    1. Bạn thử kiểm tra dung lượng bạn đã cấp cho máy ảo xem, rồi xem RAM hay CPU đã cấp cho máy ảo. Bạn bật theo dõi các tiến trình trên linux xong rồi tiến hành update hay làm gì bạn muốn thử xem, xem nó bị về Disk hay RAM hay CPU. Còn lại thì mình bó tay bạn. Bạn thử tra google xem.

      Like

Leave a comment