07/09/2018, 10:32

Giới Thiệu Về Xdebug Trong PHP

Debug Là gì Lập trình là một công việc đòi hỏi độ chính xác cao khi mà chỉ một thiếu sót nhỏ như quên không viết dấu chấm phảy ở cuối câu lệnh hay gõ sai tên biến cũng có thể dẫn tới việc ứng dụng không hoạt động được hoặc hoạt động theo một hướng khác với yêu cầu bạn đầu. Khi lập trình ngay cả ...

Debug Là gì

Lập trình là một công việc đòi hỏi độ chính xác cao khi mà chỉ một thiếu sót nhỏ như quên không viết dấu chấm phảy ở cuối câu lệnh hay gõ sai tên biến cũng có thể dẫn tới việc ứng dụng không hoạt động được hoặc hoạt động theo một hướng khác với yêu cầu bạn đầu. Khi lập trình ngay cả những ứng dụng đơn giản thì việc mắc phải lỗi trong khi viết code là điều khó có thể tránh khỏi.

Chính vì vậy tìm và phát hiện ra lỗi là công việc diễn ra khá phổ biến đối với các lập trình viên. Quy trình tìm và phát hiện ra lỗi này còn được gọi là debug (đọc là đi-bắc).

Đối với các ứng dụng đơn giản thì việc phát hiện lỗi không tốn quá nhiều thời gian, tuy nhiên khi làm việc với các ứng dụng lớn việc tìm ra lỗi sẽ rất khó khăn vì lúc này không phải bạn sẽ làm việc với vài trăn dòng lệnh mà sẽ là vài triệu dòng lệnh nằm rải rác ở hàng trăm thư mục và tập tin khác nhau. Các lập trình viên giỏi cũng là những người tìm ra lỗi rất nhanh và chính xác. Bài viết này sẽ giúp bạn hiểu quy trình debug và sau đó sẽ làm quen với việc debug trong PHP.

Quy Trình Debug

Một trong những phương pháp đơn giản nhất khi debug ứng dụng đó là lần theo từng dòng code từ đầu đến cuối và sau từng câu lệnh lập trình viên sẽ sử dụng các hàm của PHP như var_dump(), die(), exit() hay echo...để lần theo dấu vết của đoạn mã gây ra lỗi. Hoặc trong trường hợp tốt hơn bạn nghi ngờ một hàm hoặc khối nào đó gây ra lỗi bạn có thể đi tới file chứa khối lệnh hoặc hàm đó để kiểm tra trước nhằm tiết kiệm thời gian.

Xdebug Là Gì

Xdebug (đọc là íc-đi-bắc) là thư viện được viết ra để hỗ trợ việc tìm ra lỗi trong ứng dụng viết bằng PHP một cách hiệu quả hơn. Các công cụ hỗ trợ tìm ra lỗi của ứng dụng như Xdebug được gọi là debugger (đọc là đi-bắc-gơ)

Xdebug hỗ trợ debug như thế nào?

Việc viết mã lệnh để debug vào trực tiếp vào ứng dụng sẽ làm tăng rủi ro của việc giới thiệu lỗi mới vào chương trình. Ngoài ra khi lập trình viên phải debug quá nhiều lần để tìm ra lỗi họ thường có xu hướng thay vì xóa các câu lệnh debug thì họ lại chỉ comment các câu lệnh này đi và rất nhiều trường hợp sau khi tìm ra lỗi họ quên không xóa các comment này hoặc thậm chí quên không xóa cả các câu lệnh debug mà chưa comment. Xdebug được viết để giúp lập trình viên thấy được giá trị của các biến, mảng, thuộc tính đối tượng... khi chạy chương trình mà không cần phải thêm bất kỳ đoạn mã debug nào vào trong source code của ứng dụng.

Ngoài ra Xdebug cũng hỗ trợ việc format màu sắc khi hiển thị nếu bạn chèn câu lệnh debug vào bên trong ứng dụng. Ví dụ chúng ta có câu lệnh sau:

$languages = ['php', 'java', 'ruby'];

var_dump($languages);

Khi không cài đặt thư viện debug thì khi sử dụng trình duyệt để chạy đoạn mã trên sẽ hiển thị kết quả như sau:

Xdebug - Hàm vardump

Sau khi cài đặt thư viện này và kích hoạt hàm var_dump(3) sẽ hiển thị:

Xdebug - Hàm vardum

Trong các bài viết tiếp theo tôi sẽ hướng dẫn bạn cách cài đặt Xdebug và cách debug ứng dụng mà không phải chèn bất kỳ câu lệnh nào vào trong source code ứng dụng.

Bài liên quan

Giới thiệu về chuỗi trong PHP

Chuỗi trong PHP là một dãy các kí tự ASCII. PHP chỉ hỗ trợ bộ 256 kí tự mà không cung cấp Unicode nguyên gốc, không có ký tự kết thúc, chiều dài của chuỗi không giới hạn,… Việc xử lí, làm việc với chuỗi trong PHP rất quan trọng vì dữ liệu hiển thị trên trang web đa phần là ở dạng chuỗi. ...

Hoàng Hải Đăng viết 2 tuần trước

Giới Thiệu Về Xdebug Trong PHP

Debug Là gì Lập trình là một công việc đòi hỏi độ chính xác cao khi mà chỉ một thiếu sót nhỏ như quên không viết dấu chấm phảy ở cuối câu lệnh hay gõ sai tên biến cũng có thể dẫn tới việc ứng dụng không hoạt động được hoặc hoạt động theo một hướng khác với yêu cầu bạn đầu. Khi lập trình ngay cả ...

Trần Trung Dũng viết 10:32 ngày 07/09/2018

Giới thiệu về partitioning trong MySQL

MySQL partitioning là gì ? Nó bao gồm những loại nào, ưu điểm của nó là gì và làm thế nào để biết được database của bạn hỗ trợ nó. Trong bài viết này tôi sẽ nói cho bạn biết về những điều đó. 1. MySQL partitioning là gì ? Đầu tiên chúng ta phải hiểu partitioning chính là quá trình phân chia table ...

Bùi Văn Nam viết 15:36 ngày 12/08/2018

Giới thiệu về form_for trong rails

form_for là phương thức tạo ra một form cho phép người dùng có thể create hoặc update các thuộc tính của một model object cụ thể. Phương thức này có thể được sử dụng trong nhiều cách khác nhau. Đối với một model object chung, một form có thể được tạo ra bằng cách truyền qua form_for một string ...

Trịnh Tiến Mạnh viết 14:55 ngày 12/08/2018

Giới thiệu về Arel trong Rails

Trước đây, khi xây dựng các ứng dụng web có kết tới cơ sở dữ liệu, mình thường phải tự viết những câu lệnh SQL bằng tay, chỉ định rõ những cột cần lấy dữ liệu, phải viết rất nhiều câu lệnh để xử lý việc CRUD,.. Điều này cực kỳ nhàm chán gây khó để maintenance hay tìm bug khi có lỗi xảy ra. Rồi ...

Tạ Quốc Bảo viết 13:52 ngày 12/08/2018
0