Khi bước qua mã JavaScript trong trình gỡ lỗi Google Chrome, làm cách nào để chấm dứt thực thi tập lệnh nếu tôi không muốn tiếp tục? Cách duy nhất tôi tìm thấy là đóng cửa sổ trình duyệt.
Nhấn "Tải lại trang này" sẽ chạy phần còn lại của mã và thậm chí gửi biểu mẫu như thể nhấn F8 "Tiếp tục".
CẬP NHẬT :
Khi nhấn F5 (Làm mới) trong khi tập lệnh bị tạm dừng:
- Google Chrome (v22) chạy tập lệnh. Nếu tập lệnh gửi yêu cầu HTTP, phản hồi HTTP cho yêu cầu đó được hiển thị. Trang gốc không được làm mới.
- IE 9 chỉ đóng băng. Tuy nhiên IE có tùy chọn "Dừng gỡ lỗi", khi được nhấn (với điều kiện bạn không nhấn F5 trước đó), sẽ tiếp tục chạy tập lệnh bên ngoài trình gỡ lỗi.
- Firebird hành xử giống hệt với Chrome.
Đóng và sau đó mở lại cửa sổ trình duyệt không phải lúc nào cũng là cách dễ nhất tiếp theo bởi vì nó sẽ giết trạng thái phiên của trình duyệt và điều đó có thể quan trọng. Tất cả các điểm dừng của bạn cũng bị mất.
CẬP NHẬT (tháng 1 năm 2014) :
Làm mới trong khi gỡ lỗi:
- Chrome v31: cho phép các tập lệnh chạy và dừng trên các điểm dừng tiếp theo (nhưng không gửi yêu cầu ajax), sau đó làm mới.
- IE 11: refresh không làm gì cả, nhưng bạn có thể nhấn F5 để tiếp tục.
- Firefox v26: cho phép các tập lệnh chạy nhưng không dừng ở các điểm dừng tiếp theo, gửi yêu cầu ajax, sau đó làm mới.
Loại tiến bộ!
Điều hướng đến cùng một trang trong khi gỡ lỗi:
- Chrome v31: giống như Làm mới.
- IE 11: tập lệnh bị chấm dứt, phiên trình duyệt mới được bắt đầu (giống như đóng và mở lại).
- Firefox v26: không có gì xảy ra.
Ngoài ra juacala đề nghị một cách giải quyết hiệu quả. Ví dụ: nếu bạn đang sử dụng jQuery, việc chạy xóa $ từ bảng điều khiển sẽ dừng thực thi khi gặp bất kỳ phương thức jQuery nào. Tôi đã thử nghiệm nó trong tất cả các trình duyệt trên và có thể xác nhận nó đang hoạt động.
CẬP NHẬT (Tháng 3 năm 2015) :
Cuối cùng, sau hơn 2 năm và gần 10 nghìn lượt xem, câu trả lời đúng được đưa ra bởi Alexander K. Google Chrome có Trình quản lý tác vụ riêng có thể giết chết quá trình tab mà không đóng chính tab, giữ nguyên các điểm dừng và các nội dung khác.
Tôi thậm chí đã đi xa như BrowserStack.com để thử nghiệm nó trong Chrome v22 và thấy rằng điều này đang hoạt động theo cách này ngay cả tại thời điểm đó.
Cách giải quyết của Juacala vẫn hữu ích khi gỡ lỗi trong IE hoặc Firefox.
CẬP NHẬT (tháng 1 năm 2019) :
Chrome Dev Tools cuối cùng đã thêm một cách thích hợp để dừng thực thi tập lệnh, điều này thật tuyệt (mặc dù hơi bị ẩn). Tham khảo câu trả lời của James Gentes để biết chi tiết.
debugger;
vào bảng điều khiển công cụ dev và nó sẽ ngay lập tức đưa mọi thứ vào trình gỡ lỗi và dừng tập lệnh.