14/08/2018, 11:07

Debug trong JavaScript

Trong khi mã hóa chương trình, các nhà lập trình có thể tạo ra các lỗi. Một lỗi trong một chương trình hoặc một script được xem như là một bug . Tiến trình tìm kiếm và sửa các bug được gọi là dubugging và là một phần bình thường của tiến trình lập trình. Chương này giới thiệu một số công ...

Trong khi mã hóa chương trình, các nhà lập trình có thể tạo ra các lỗi. Một lỗi trong một chương trình hoặc một script được xem như là một bug.

Tiến trình tìm kiếm và sửa các bug được gọi là dubugging và là một phần bình thường của tiến trình lập trình. Chương này giới thiệu một số công cụ và công nghệ mà có thể giúp bạn với nhiệm vụ debug.

Thông báo lỗi trong IE

Cách đơn giản nhất để phát hiện lỗi là bật thông tin lỗi trong trình duyệt của bạn. Theo mặc định, IE chỉ một biểu tượng lỗi trong thanh trạng thái khi một lỗi xảy ra trên trang.

Error Icon

Nhấn đúp chuột vào biểu tượng này sẽ hiển thị một hộp thoại chỉ thông tin về lỗi cụ thể đã xảy ra.

Khi biểu tượng này dễ bị coi nhẹ (hay khó quan sát), IE cung cấp cho bạn tùy chọn để tự động hiển thị thông báo lỗi bất cứ khi nào một lỗi xảy ra.

Để kích hoạt chức năng này, chọn Tools → Internet Options → Advanced tab. và sau đó cuối cùng kiểm tra hộp tùy chọn "Display a Notification About Every Script Error" như hình dưới.

Internet Options

Thông báo lỗi trong Firefox hoặc Mozilla

Các trình duyệt khác như Firefox, Netscape và Mozilla gửi thông báo lỗi tới một cửa sổ đặc biệt được gọi là JavaScript Console hoặc Error Consol. Để quan sát bàn điều khiển này, chọn Tools → Error Consol hoặc Web Development.

Không may là, khi các trình duyệt này cung cấp các chỉ dẫn không nhìn thấy khi một lỗi xảy ra, bạn phải giữ bàn điểu khiển Console này mở và so khớp cho các lỗi khi script của bạn thực thi.

Error Console

Các khai báo lỗi (Error Notification)

Error Notification mà hiển thị trên Console hoặc thông qua hộp thoại IE là kết quả của cả các lỗi Syntax Error và Runtime Error. Những khai báo lỗi này bao gồm số dòng nào tại đó lỗi xảy ra.

Nếu bạn đang sử dụng Firefox, thì khi đó bạn có thể click vào lỗi có trong Console để tới chính xác dòng trong script mà có lỗi.

Cách để debug một Script

Có nhiều cách để debug các lỗi trong JavaScript của bạn:

Sử dụng JavaScript Validator

Một cách để kiểm tra code có các bug lạ là để chạy nó thông qua một chương trình mà kiểm tra nó để đảm bảo rằng nó là hợp lệ và nó tuân theo qui tắc cú pháp chính thức của ngôn ngữ. Những chương trình này được gọi là validating parsers hoặc validators, và thường đi với các bộ soạn HTML và JavaScript thương mại.

Validator tiện lợi nhất cho JavaScript là Douglas Crockford của JavaScript Lint, mà có sẵn miễn phí tại: Douglas Crockford's JavaScript Lint.

Bạn ghé thăm trang web này, paste các JavaScript code vào trong khu vực văn bản đã cho, và nhấn nút jslint. Chương trình này sẽ phân tích JavaScript code của bạn, đảm bảo rằng tất cả định nghĩa biến và hàm tuân theo cú pháp chính xác. Nó cũng sẽ kiểm tra các lệnh JavaScript, như if và while, để đảm bảo chúng cũng tuân theo định dạng chính xác.

Thêm Debugging code tới chương trình của bạn

Bạn có thể sử dụng các phương thức alert() hoặc document.write() trong chương trình của bạn để debug. Ví dụ, bạn có thể viết một cái gì đó như sau:

var debugging = true;
var whichImage = "widget";

if( debugging )
alert( "Calls swapImage() with argument: " + whichImage );
var swapStatus = swapImage( whichImage );

if( debugging )
   alert( "Exits swapImage() with swapStatus=" + swapStatus );

Bằng việc kiểm tra nội dung và trình tự của alert() khi chúng xuất hiện, bạn có thể kiểm tra chương trình của bạn rất dễ dàng.

Sử dụng một JavaScript Debugger

Một Debugger là một ứng dụng mà đặt tất cả các khía cạnh của việc thực thi script dưới sự điều khiển của một nhà lập trình. Debugger cung cấp một điều khiển Fine-Grained (Điều khiển phân định tinh tế) qua trạng thái của script thông qua một giao diện mà cho phép bạn kiểm tra và thiết lập các giá trị cũng như điều khiển luồng của việc thực thi.

Một khi một script đã được tải vào trong một debugger, nó có thể được chạy một dòng tại một thời điểm hoặc được chỉ dẫn để dừng tại điểm dừng (Breakpoint). Khi việc thực thi bị dừng, nhà lập trình có thể kiểm tra trạng thái của script và các biến của nó để quyết định làm điều gì nếu có gì đó bị lỗi. Bạn có thể cũng quan sát các biến với các thay đổi trong các giá trị của chúng.

Phiên bản Mozilla JavaScript Debugger mới nhất (tên Venkman) cho cả trình duyệt Mozilla và Netscape có thể được tại tại: http://www.hacksrus.com/~ginda/venkman

Chỉ dẫn hữu ích cho nhà lập trình

Bạn có thể nên nhớ các tip sau để giảm số lượng các lỗi trong các script của bạn và làm đơn giản hóa tiến trình debug.

Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài học JavaScript khác tại code24h:

0