2016-10-01 13 views
9

Tôi đang cố gắng theo dõi these hướng dẫn gỡ lỗi javascript android.Làm cách nào để tôi có thể nhấn điểm ngắt (và xem số dòng lỗi) khi gỡ lỗi javascript trên Android?

Tôi biết về How can I debug javascript on Android?, nhưng không rõ đối với tôi cách (hoặc nếu) tôi có thể đạt đến điểm ngắt - sử dụng Chrome trên thiết bị Android hoặc trình duyệt Android.

tôi có thể nhìn thấy và 'kiểm tra' thiết bị OK:

enter image description here

Nhưng breakpoint không bị đánh, cũng không phải tôi có thể thấy số dòng trên sai sót trong giao diện điều khiển:

enter image description here

Giữa hai vấn đề này, tôi không nhận được nhiều thông tin hữu ích từ trải nghiệm gỡ lỗi! Tôi đã cố gắng đi đến 'about: debug' trong trình duyệt android, và không thấy các tùy chọn gỡ lỗi xuất hiện.

Tôi sẽ thêm rằng js tôi đang gỡ lỗi hoạt động tốt trong Chrome mới nhất trên cùng một thiết bị Android.

+0

Bạn có chắc chắn rằng không ai bị đánh? Dòng bạn đã đánh dấu ở trên là bắt đầu của một IIFE-- không chắc chắn nếu điều đó sẽ gỡ lỗi bao giờ hết. Ngoài ra, bạn đã thử thả một câu lệnh 'debugger;' vào mã của bạn để xem các công cụ có bị hỏng không? –

+0

@anied Dòng đó thực hiện gỡ lỗi trong Chrome. 'debugger;' là một ý tưởng hay - tôi sẽ cố gắng. –

+0

kiểm tra http: // stackoverflow.com/questions/11788081/chrome-javascript-debugger-breakpoints-không-do-bất cứ điều gì –

Trả lời

0

Trước hết, có vẻ như có một loạt lỗi cú pháp có thể ngăn chặn hàm mustache.js thực thi - xem liệu bạn có thể xử lý những thứ đó trước không.

Tôi muốn thử đặt điểm ngắt trên dòng tiếp theo xuống dòng # 9 - để xem có bất kỳ điều gì trong đó IIFE đang chạy không.

+0

Đây là một số JS hoạt động tốt nhất mới nhất Chrome trên cùng một thiết bị - các lỗi cú pháp này chỉ xuất hiện trên trình duyệt Android. Tôi đã cố gắng thiết lập các điểm ngắt trong một loạt các địa điểm ... khá chắc chắn tôi đã đạt được một điểm nếu chúng có thể bị đánh trúng. Đó là một trong những chỉ được cho là minh họa. –

0

Giả sử bạn đang sử dụng trình bao gói (chẳng hạn như Webpack) đang phát triển (dựa trên cổng 8080 trong ảnh chụp màn hình), rất có thể mã bạn đang cố gỡ lỗi được thực hiện qua eval. Trong trường hợp này vào thời điểm bạn có thể nhìn thấy nó trong các devtools, nó đã chạy.

Bạn có thể sử dụng câu lệnh debugger trong mã của mình hoặc chạy trong chế độ sản xuất - nơi có tệp tập lệnh thực được thực thi. Trong cả hai trường hợp, trước tiên bạn nên đính kèm trình gỡ rối từ xa và chỉ điều hướng đến trang của bạn (hoặc làm mới nó).

+0

chỉ 8080 'cos là cổng mặc định của https://www.npmjs.com/package/http-server –

0

Tôi hiện đã thử lại điều tương tự và lần này không gặp sự cố. Thật không may tôi không thể đặt ngón tay của mình vào vấn đề chính xác, vì máy dev của tôi chết, tôi đang chạy một cửa sổ mới 10 cài đặt và có khả năng là một phiên bản khác của SDK Android và ADB. Điện thoại và trình duyệt Android không thay đổi.

Dù sao, tôi bây giờ có thể thiết lập và nhấn breakpoint như tôi mong đợi:

enter image description here

tôi cũng có được mô tả lỗi tốt hơn và số dòng:

enter image description here

FWIW, các chỉ có vấn đề cần sửa chữa đã thay đổi một số khai báo 'let' thành 'var'.

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