Làm cách nào để ngăn các công cụ dành cho nhà phát triển Chrome đóng khi cửa sổ trình duyệt hiện tại đóng?


78

Tôi đang cố gắng sử dụng các công cụ dành cho nhà phát triển chrome để gỡ lỗi sự cố mà tôi đang gặp phải với Twitter oauth.

Khi cửa sổ oauth xuất hiện, tôi mở công cụ dành cho nhà phát triển để theo dõi các yêu cầu - nhưng ngay sau khi cửa sổ oauth đóng thì cửa sổ công cụ dành cho nhà phát triển cũng bị đóng lại. Tôi muốn có thể mở cửa sổ công cụ dành cho nhà phát triển để tôi có thể kiểm tra các yêu cầu được đưa ra.

Điều này có khả thi không?


2
FYI, tôi vừa gửi lỗi chống lại Chromium về điều này: crbug.com/171447 .
Mu Mind

Kể từ ngày 15 tháng 12 năm 2017, crbug.com/171447 đã được sửa.
tom_mai78101

@ tom_mai78101 làm cách nào để kích hoạt nó?
John Balvin Arias

Câu trả lời:


84

Không phải là một giải pháp hoàn hảo, nhưng bạn có thể thêm các điểm ngắt trên các sự kiện Window.closeunloadbằng cách bật các hộp kiểm tại:

Developer tools -> "Sources" tab -> Event Listener Breakpoints -> Window -> close

Event Listener Breakpoints -> Load -> unload

Cố gắng đánh dấu cả hai và xem cái nào phù hợp nhất với bạn


4
Có ai đó biết tại sao điều này không làm các thủ thuật cho tôi? Cửa sổ vẫn đóng.
Rubinous

1
Tôi nghĩ rằng tôi đang gặp vấn đề tương tự. Đó là tôi đã mở cửa sổ nhà phát triển cho ứng dụng của mình nhưng quá trình oauth đang bật ra một cửa sổ mới và do đó các điểm ngắt của tôi không có ở đó. Tôi thấy cửa sổ nhà phát triển bật lên và đóng lại bằng cửa sổ oauth ... thở dài
tavor999

25

Một tùy chọn khác là tự thêm điểm ngắt theo cách thủ công. Mở cửa sổ đóng quá nhanh, mở bảng điều khiển JS và:

window.addEventListener('unload', function() { debugger; })

Nhưng tất cả đi vào chính xác cửa sổ đang làm gì và chính xác khi nào bạn muốn dừng mọi thứ, vì vậy thử nghiệm với Điểm ngắt của trình xử lý sự kiện trong tab Nguồn, như trong câu trả lời của @ jfhfhf839, cũng là một ý tưởng hay.

Trong trường hợp của tôi (gỡ lỗi quy trình Google OAuth), thủ thuật này Window -> Closecũng không phải Load -> Unloadlà thủ thuật nhưng Script > Script First Statementrất hữu ích, mặc dù tôi phải tiếp tục thực thi một vài lần trước khi đến nơi tôi muốn.


Đối với IE, bạn có thể sử dụng: window.attachEvent("onunload", function() { debugger; })
Freddie

5

Hãy thử sử dụng gỡ lỗi từ xa: https://developers.google.com/chrome-developer-tools/docs/remote-debugging Trong trường hợp này, Công cụ dành cho nhà phát triển sẽ được mở trong một tab trình duyệt riêng biệt mà không bị đóng tự động.

Cũng nên xem xét đặt một điểm ngắt trong mã đóng cửa sổ nếu bạn có thể tìm thấy nó.


1
Điều này có thể hoạt động để gỡ lỗi Chrome trên Android, nhưng không hoạt động với tôi trên máy tính của mình. Tôi đã truy cập trang chrome: // verify / #, tìm tab, nhấn kiểm tra, nhưng các công cụ dành cho nhà phát triển vẫn đóng khi cửa sổ đóng lại.
tobek,
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.