GDB dòng lệnh cơ bản (03 – Cơ bản)

Trong bài số 02, ta đã nói đến những việc mà GDB có thể giúp chúng ta.

Về cơ bản GDB, có thể chạy để debug mọi chương trình, tuy nhiên nếu không muốn càng debug càng rối thì ta nên sử dụng tham số -g khi biên dịch để giúp quá trình debug xác định được vị trí mỗi đoạn binary trong source ban đầu.
Tiếp tục đọc

Advertisements

Cài đặt GDB (02 – Cài đặt)

Khi sử dụng GDB để debug 1 chương trình thì chương trình đó gọi là target program.
Khi nói về vị trí của GDB dùng để debug và target program, ta sẽ có 2 cách trường hợp sử dụng sau:

  1. GDB và target program cùng ở 1 máy : Thường sử dụng với chính các chương trình được dev, rồi build, rồi chạy trên máy đó. Đây là trường hợp chúng ta hay thấy nhất, đó là khi phát triển các app desktop.
  2. GDB và target program không cùng trên 1 máy : Tức là GDB sẽ chạy trên 1 máy để debug 1 chương trình chạy trên máy khác thông qua Serial hoặc Network. Cái này hay thấy khi phát triển ứng dụng nhúng. Xem thêm tại đây.

Một số distro khi được cài đặt, đã bao gồm GDB rồi. Có thể kiểm tra bằng command dưới đây:

$gdb --version

Tiếp tục đọc

GDB có thể làm gì? (01 – Khả năng của GDB)

Trước khi nói về chủ đề chính là “GDB có thể làm gì”. GDB hay những phần mềm như GDB được viết ra để giải quyết vấn đề gì.

1. Phầm mềm Debugger sinh ra giải quyết cái gì?

Phần mềm thực sự được tạo ra ở bước implementation, nó hiện thực những nội dung được mô tả trong thiết kế.
Vì con người viết code tạo ra phần mềm, mà con người không phải lúc nào cũng luôn làm đúng như những gì họ đã nghĩ, đã ý định, đã thiết kế. Những cái đó người ta gọi là BUG.

Một điều nữa, khi đã biên dịch (ở đây không xét đến ngôn ngữ thông dịch nhé), các code mà con người viết ra sẽ trở thành mã nhị phân. Tiếp tục đọc

Làm việc với GDB – GNU Debugger (00- Mở đầu)

Đợt này ngồi Unit Test nhiều quá, mệt!!!. Mà đã mệt, sinh ra chán để tiếp tục được thì nhất phải có gì hay ho thỉnh thoảng ngó sang tí cho đỡ chán. それはアカン!!!!

Cách đặt mục tiêu để viết, dịch khá hiệu quả đối với “siêu lười” như mình, loạt về USB Basic dù nội dung chắc nhiều lỗi những ít ra nó cũng hoàn thành.

Vâng, mục tiêu lần này sẽ viết một loạt bài về cách sử dụng GDB (GNU Debugger) từ cài đặt, cách sử dụng dòng lệnh đến các IDE (Eclipse hoặc VS Studio).

Nội dung sẽ như sau:

  1. GDB có thể làm gì?
  2. Cài đặt GDB
  3. GDB dòng lệnh cơ bản
  4. GDB trên Eclipse IDE
  5. GDB trên QtCreator
  6. GDB làm việc như thế nào?
  7. GDB Server giải quyết vấn đề gì
  8. GDB trên Visual Studio 2015
  9. GDB trên Eclipse IDE, QtCreator khi sử dụng với GDB Server

Tiếp tục đọc