2012-04-25 14 views
34

Các công cụ phát triển của IE, cụ thể hơn là trình gỡ lỗi JavaScript của nó, cung cấp lệnh "Đặt câu lệnh tiếp theo", cho phép bạn chỉ định câu lệnh nào sẽ được thực hiện tiếp theo. Bằng cách đó, bạn có hiệu quả có thể bỏ qua một số phần chức năng hoặc thậm chí (một lần nữa, hiệu quả) trở lại từ một hàm sớm.Tính năng "Đặt câu lệnh tiếp theo" có tồn tại trong Công cụ tìm kiếm của Chrome hoặc trong Firebug không?

Vì vậy, đối với chức năng này ...

function test() { 
    alert(1); 
    alert(2); 
    alert(3); 
} 

Nếu chúng ta thiết lập một break-point trên cảnh báo đầu tiên, và sau đó gọi hàm, chúng ta có thể thực hiện các cảnh báo đầu tiên (F10), và sau đó ngay -nhấn vào cảnh báo thứ ba và chọn "Đặt câu lệnh tiếp theo". Bây giờ, nếu chúng ta nhấn F10, cảnh báo thứ ba sẽ được thực hiện, do đó, hiệu quả, cảnh báo thứ hai bị bỏ qua.

(Test trong IE here: --- công cụ mở IE với F12, chuyển sang "Script" tab, đặt breakpoint, nhấn "Start gỡ" nút, làm mới trang nếu cần thiết)

Tôi thích video này "đặt tuyên bố tiếp theo "tính năng. Tuy nhiên, tôi không nhận thấy nó trong các công cụ dev của Chrome hoặc trong Firebug. Tính năng này có tồn tại trong các trình gỡ rối đó không?

Trả lời

33

Trong khi Chrome DevTools không có "Đặt tuyên bố tiếp theo", bạn có thể xác định rõ ràng tuyên bố tiếp theo bằng cách chỉ chỉnh sửa JavaScript trong khi nó bị tạm dừng tại điểm ngắt.

Tôi đã thực hiện một đoạn ngắn screencast để bạn hiển thị Chrome DevTools Chỉnh sửa trực tiếp + Gỡ lỗi điểm ngắt.

Về bản chất: trong khi tại điểm ngắt, hãy chỉnh sửa trực tiếp tập lệnh của bạn bằng cách nhấp vào bảng Scripts và thực hiện thay đổi. Nhấn cmd + s để lưu. Sau đó đi qua mã đó với những thay đổi mới của nó. Mạnh hơn nhiều so với việc bỏ qua mã, bạn cũng có thể thêm chức năng mới.

+3

Cảm ơn vì screencast :) Yea, tôi biết về chỉnh sửa mã nội tuyến của Chrome (Tôi đã xem cuộc trò chuyện bạn đã thực hiện năm ngoái nơi bạn giới thiệu nó). Đây là một tính năng sát thủ có thể được sử dụng cho tất cả mọi thứ - ví dụ, thoát khỏi một hàm sớm như tôi đã đề cập trong [câu hỏi khác của tôi ở đây] (http://stackoverflow.com/q/10229996/). Tuy nhiên, tôi muốn xem "đặt tuyên bố tiếp theo" trong Chrome cuối cùng. (Ctrl + S sẽ chạy lại hàm, và tôi có thể thấy chính mình ở giữa một hàm mà tôi không * muốn chạy lại toàn bộ hàm, nhưng vẫn muốn bỏ qua một hoặc nhiều câu lệnh.) –

+0

Đó là sự thật, bạn sẽ phải đánh giá lại chức năng đó trở lại điểm gọi. Tôi đang cố gắng nghĩ về những trường hợp mà tôi muốn GOTO (về bản chất) trong quá trình gỡ lỗi của mình, nhưng không thể nghĩ đến các giai đoạn của tôi; kịch bản của bạn là gì? –

+1

Tôi sử dụng GOTO ("đặt câu lệnh tiếp theo") trong IE để bỏ qua tất cả các câu lệnh tiếp theo của một hàm - điều này cho phép tôi thoát khỏi một hàm tại bất kỳ câu lệnh nào. Tôi cần điều này vì IE đóng băng trang trong khi trình gỡ rối đang chạy, vì vậy tôi không có thông tin trực quan về những gì các câu lệnh của tôi đang làm, và cách duy nhất để xem trang trông như thế nào tại một câu lệnh đã cho là thực hiện một GOTO của hàm. Tôi chưa cần GOTO trong Chrome mặc dù ... –

Các vấn đề liên quan