2009-08-11 31 views
7

Tôi đã tải xuống "Trình phát hiện rò rỉ bộ nhớ Javascript" cho IE được đề cập ở đâu đó trên SO và also here nhưng không thể tìm ra cách sử dụng nó. Dường như đã từng là một bài đăng blog khác có lẽ đã đi vào chi tiết này, nhưng liên kết đến nó từ liên kết trên bị hỏng.Làm thế nào để sử dụng bộ dò tìm rò rỉ bộ nhớ Javascript của IE7?

Tôi cũng đã thử sử dụng sIEve và công việc đủ phong phú ngoại trừ việc tôi không thể có được chức năng "sao chép" để hoạt động bình thường. Đó là, tôi muốn sao chép các số liệu thống kê khác nhau để tôi có thể thao tác chúng ngoại tuyến và chuẩn bị một báo cáo cho người quản lý của tôi. Tuy nhiên như tôi nói có vấn đề với việc sao chép dữ liệu, và vì vậy cho đến khi tôi báo cáo cho các nhà phát triển, và nếu sau đó họ khắc phục vấn đề, tất cả những gì tôi có thể nhận được là màn hình không tương tác. Vì vậy, tôi hỏi cộng đồng SO cách họ sử dụng các công cụ trên hoặc nếu họ biết về bất kỳ công cụ dễ sử dụng nào khác để đo rò rỉ bộ nhớ Javascript IE7, tôi có thể sử dụng trong việc chuẩn bị báo cáo cho quản lý, ví dụ: từ đó bạn có thể xuất dữ liệu thô.

Cảm ơn trước

Trả lời

6

Đây là trải nghiệm của riêng tôi với sIEve trong khoảng. 24 giờ kể từ khi tôi hỏi câu hỏi này. Nó cung cấp dữ liệu phong phú, trực quan, mặc dù không tương tác, ví dụ: "chỉ đọc". Nó cung cấp một cách để "sao chép" dữ liệu nó hiển thị trong nhiều "Hiển thị" lưới của nó, trong trường hợp của tôi "Hiển thị trong sử dụng". Tuy nhiên, số lượng dữ liệu này dẫn đến khi dán vào một tài liệu văn bản đi xa hơn những gì thực sự hiển thị trong lưới và hoàn toàn hết sức dồi dào.

Hãy để tôi giải thích trường hợp sử dụng của mình. SIEve không chỉ ra "rò rỉ" cho mỗi người mà là "những đứa trẻ mồ côi". Để xem điều này có nghĩa là gì trong cách nói chuyện của sieve, hãy xem this page.

Khi tôi đã sử dụng trình duyệt sIEve để truy cập trang tôi đã quan tâm đến, tôi đã sử dụng chức năng "Hiển thị sử dụng" để hiển thị lưới có khoảng 10 hoặc 12 trường. Dữ liệu cột có thể sắp xếp bằng cách nhấp vào tiêu đề, vì vậy tôi có thể sắp xếp trên cột "Trẻ mồ côi" và sau đó chọn phạm vi của hàng chỉ ra "Có" và sau đó nhấp vào "Sao chép"

Tuy nhiên tôi đã đặt câu hỏi này ở vị trí đầu tiên vì Sao chép hoặc dường như không hoạt động hoặc bị sieve bị lỗi. Tôi tiếp tục gặp phải những vấn đề này khoảng một phần ba hoặc một nửa thời gian nhưng vẫn kiên trì và cuối cùng có thể dán dữ liệu thô vào tài liệu.

Như tôi đã đề cập đến số lượng dữ liệu thô dồi dào. Vì vậy, điều duy nhất tôi đã phát triển cho đến nay là một biểu thức chính quy để đếm "hồ sơ". Mỗi bản ghi bắt đầu bằng một dòng như sau:

http://localhost:8086/yms_web/yardmanager.do (1 reference) 

Nó sẽ luôn cho biết số tham chiếu, vì vậy đây là biểu thức chính quy mà tôi đã phát triển để tìm các hàng này trong dữ liệu thô; lưu ý Tôi đang sử dụng Cygwin cho điều này:

$ egrep '\([0-9]+ reference[s]?\)' before_trailer_adjust_clicks.txt 
http://localhost:8086/yms_web/yardmanager.do (5 references) 
http://localhost:8086/yms_web/yardmanager.do (1 reference) 
http://localhost:8086/yms_web/yardmanager.do (2 references) 

Như bạn có thể thấy regex xử lý đúng khả năng tham chiếu số nhiều; Tôi đã không nhìn thấy nó xử lý các trường hợp, nơi có tài liệu tham khảo hai chữ số nhưng tôi tin rằng nó nên.

Trong mọi trường hợp, bằng cách tạo đầu ra ở trên tới wc -l, bạn nhanh chóng tìm ra số dòng bạn có, vì vậy trong trường hợp của tôi, bằng cách thu thập dữ liệu từ lưới nơi "Orphan" bằng "Có" và thực hiện này trong yêu cầu HTTP liên tiếp, tôi đã có thể xem như thế nào số lượng trẻ mồ côi đã được tăng lên, ví dụ:

$ egrep '\([0-9]+ reference[s]?\)' before_trailer_adjust_clicks.txt | wc -l 
3 

$ egrep '\([0-9]+ reference[s]?\)' after_trailer_adjust_click.txt | wc -l 
4 

$ egrep '\([0-9]+ reference[s]?\)' after_create_rftask_click.txt | wc -l 
4 

$ egrep '\([0-9]+ reference[s]?\)' after_create_rftask_close.txt | wc -l 
66 

$ egrep '\([0-9]+ reference[s]?\)' after_trailer_adjust_close.txt | wc -l 
163 

Tất nhiên lệnh egrep có thể được gọi bên trong một kịch bản bash Looping trên các tập tin được quan tâm nhưng tôi vẫn chưa đi xa đến thế.

Bằng cách này là dành cho một ứng dụng ExtJS và tôi hỏi trên diễn đàn của họ và có một số lời khuyên tốt và đã có thể làm giảm đáng kể số lượng trẻ em mồ côi!

Hy vọng điều này sẽ giúp những người khác trên SO và không chắc chắn tại sao câu hỏi này đã được bỏ phiếu để được đóng lại

4

Link là lỗi thời, vì vậy tôi sửa đổi nó để đi đến root of the blog, và nằm bài viết qua thẻ.

JavaScript Memory Leak Detector (v2)

+0

Cảm ơn. Tôi rất tốt có thể "trả lời" câu hỏi của riêng tôi với một số lệnh cygwin/command-line mà tôi đã phát triển ngày hôm nay để phân tích cú pháp thông qua dữ liệu sIEve. –

+0

Tuyệt! Có, xin vui lòng gửi chúng. –

+0

Tôi đã thử công cụ dò tìm rò rỉ bộ nhớ Javascript này và đã kết luận rằng SIEve là công cụ hữu ích hơn cho tôi ít nhất. Trước đây không giống như SIEve không A) chỉ ra "trẻ mồ côi" chắc chắn là nguyên nhân làm tăng bộ nhớ khi tôi giảm thiểu chúng, bộ nhớ không tăng như trước đây, hoặc B) cung cấp khả năng tải xuống và thao tác dữ liệu để báo cáo , ít nhất là tôi có thể thấy –

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