GDB là một chương trình debug, gỡ rối chương trình rất phổ biến đối với công việc lập trình trong linux. Giả sử ở đây, chúng ta có file main.c với nội dung như sau #incldue int main() { int date= 22; int month= 12; int year = 2010; printf(“\n***********************************”); printf(“\n*** hello all ***”); printf(“\n*** chung ta se cung tim hieu ve GDB ***”); printf(“\n***********************************”); printf(“\n@copyright mathhoang ngay %d thang %d nam %d”,date,month,year”); return 1; } ------------------------------------------ sử dụng gcc để biên dịch chương trình thành file thực thi, chú ý là các bạn phải thêm option [-g] để cho phép chạy debug. Lệnh compile như sau: $ gcc -o -g main main.c ------------------------------------------ ví dụ; ------------------------------------------ (gdb) shell [lenh_linux] ví dụ: ------------------------------------------ (gdb) break [so_dong] hoặc đặt breakpoint tại hàm main ------------------------------------------ ví dụ ------------------------------------------ ------------------------------------------ ở ví dụ của chúng ta chỉ có hàm main, do đó khi dùng lệnh list thì sẽ hiển thị duy nhất các dòng code của hàm main. Còn nếu chương trình đang chạy ở 1 function nào đó, ví dụ function aaaa thì sẽ list code của function đó. ------------------------------------------ nếu không có [so_dong ] thì dòng lệnh kế tiếp dòng lệnh hiện tại được thực thi, còn nếu có [so_dong] thì chương trình sẽ thực thi từ dòng lệnh hiện tại tới dòng lệnh [so_dong] ------------------------------------------ ------------------------------------------ ------------------------------------------ ------------------------------------------ ví dụ: trong hàm main của chúng ta có biến date, mà muốn xem biến này chúng ta thực hiện lệnh ------------------------------------------ ví dụ ------------------------------------------ ví dụ ------------------------------------------ ví dụ ------------------------------------------ ví dụ: ------------------------------------------ --- 1. Giới thiệu Công cụ gỡ lỗi gdb debugger cho phép hỗ trợ debug chương trình thực thi trên KIT FriendlyArm. 2. Cài đặt công cụ debug GDB Bước 1. Bước 2.
- Giải nén thành công được thư mục mã nguồn gdb_7.x Bước 3. Bước này để biên dịch gói gdb (client) dùng cho trên máy host
- Biên dịch:
- Cài đặt:
Bước 4. Bước này biên dịch gdbserver chạy trên KIT - Chuyển tới thư mục gdb_7.0/gdb/gdbserver
- Export 2 biến môi trường sau
- Gõ lệnh
- Biên dịch
Kết quả sinh ra một file chạy gdbserver Copy file này lên KIT dùng gFTP Bước 5. Cài đặt công cụ ddd hỗ trợ debug bằng giao diện đồ họa bên phía máy host
3. Cách sử dụng công cụ debug gdb Bước 1 - Login vào KIT qua telnet - Chạy chương trình gdbserver với tham số port lắng nghe kết nối và chương trình muốn debug:
Bước 2 - Trên máy host gõ lệnh
- Chương trình debug ddd giao diện đồ họa như sau: Bước 3 Bước 4
192.168.1.230 là địa chỉ cuả KIT 8888 là cổng mà chương trình gdbserver trên KIT đang lắng nghe ở Bước 1. Khi đó bên phía KIT sẽ hiện lên như sau: Bước 5. Sử dụng các thao tác của chế độ chạy debug: - Có thể sử dụng thanh công cụ hoặc gõ lệnh >>b 5 đặt breakpoint ở dòng thứ 5 >> c có nghĩa là continue >>s có nghĩa là step … |