JavaScript Memory Leak Detector (v2)

sponsored links

Introduction


JavaScript Memory Leak Detector ( Download ) is a Debugging tool to detect and enforce best practices Memory leaks in JavaScript code when Working with version of Internet Explorer older than IE8.

As described in Detail in this MSDN article the JScript garbage collector in previous versions of Internet Explorer manages the lifetime of JScript objects but not of DOM objects. As a result, the JScript garbage collector can not break Circular references between DOM objects and JScript objects, and memory leaks may occur.

  • In IE6, these circular references are broken when the Internet Explorer process terminates (and leaks are very frequent).
  • In IE7, these circular references are broken when users navigate away from the page.
  • In IE8 the problem is completely mitigated. (Read here for more details).


Programmers who need to support older versions of the Internet Explorer browser should still try to pay attention to programming patterns such as JScript closures, as they could cause memory leaks.

The leak detector works hosting an IE WebBrowser control and intercepting the execution of JavaScript inside IE. It monitors al the DOM elements in the markup of a web document that somehow interact with JavaScript and presents a list of potentially leaked objects to the user, together with information about the scripts loaded in the page and, if possible, a hint to the instruction that may have caused the leak.

Installation notes


IEJSLeaksDetector is a plain, native, Windows application and does not require any particular setup (the executable can be just unzipped and run).
It only runs in 32 bit versions of Windows. 64 bits editions are not supported yet.

There are only two installation steps required to make sure that the tool works correctly:

1. The tool requires that the pdm.dll script installer is installed in the machine. This DLL is normally installed with any version of Microsoft Visual Studio.In case you are unable to install Visual Studio in the target machine, a simpler way to install Pdm.dll is by installing the Microsoft Script Debugger, freely Downloadable here .

2. The tool also requires Internet Explorer script debugging to be enabled to work correctly. Verify that the check box "Disable script debugging (Other)" is unchecked, in IE ('Tools' menu -> Internet Options -> 'Advanced' tab -> 'Browsing' section) as shown in figure.

JavaScript Memory Leak Detector (v2)


How to use the tool

The user can start the memory profiling of a web application navigating to the desired URL. A new tab is opened with a WebBrowser control and a tree view shows all the documents and scripts that compose the current page.
When the user has finished to interact with the page he can click the "Stop" button, which causes the tool to close the control and track possible leaks.
Memory leaks are listed specifying the DOM object's type and a list of "attached" JavaScript objects whose circular reference could be the cause of the leak. The tool also shows the call stack correponding to a memory leak, which represents the state of the script at the moment when the JavaScript object was attached to the DOM object. Finally, a script window highlights the exact point in the JavaScript code where the memory leak originated.
More information can be found in the Docs ENCLOSED with the Binaries .

JavaScript Memory Leak Detector (v2)





http://blogs.msdn.com/gpde/pages/javascript-memory-leak-detector-v2.aspx
  • del.icio.us
  • StumbleUpon
  • Digg
  • TwitThis
  • Mixx
  • Technorati
  • Facebook
  • NewsVine
  • Reddit
  • Google
  • LinkedIn
  • YahooMyWeb

Related Posts of JavaScript Memory Leak Detector (v2)

  • Ruby-2.0 Record Study - (win installation chapter)

    Glossary: Ruby do not specifically introduce the concept of a word over the "A Japanese invention of object-oriented scripting language"; Rails 1 person R & D Denmark A good agreement, fixed model MVC framework. webrick Ruby default http ser

  • Firebug Guide (b) --- how to use the Firebug command line API to provide debugging js procedures (on)

    Console Tab Overview This tag is mainly used to print the log only. It can also be a time when debugging in javascript as a command-line window to use (similar to Microsoft Visual Studio in the window immediately (immediate window)). And the use of its

  • Xls and csv export Ruby's utf-8 problem

    Database data for utf-8 format, including Chinese and Latin and so on Xls export file format and csv format will be garbled when the situation 0, the premise of At database.yml using utf8 encoding connect to database: 1, xls Use spreadsheet Version 0 ...

  • The Rails Way back

    Rails 1.x days recalled by the Rails core members of Jamis Buck And Michael Koziarski Created The Rails Way Are the most influential one Rails site, the site is aimed at the creation of the code submitted to the site to comment and reconstruction to ...

  • From Java to Ruby

    Java is a mature, tested, and are quick (), or wordy. From Java to the Ruby, could be expected to reduce the code size, but also could be expected to spend less time to put together a quick prototype. Similarities: And Java, in Ruby, the ... Garbage ...

  • rails version of the change (b) - rails of the introduction

    Prompted the new Rails 2.2 features October 24, Rails has released a preview version 2.2, Rails This is the history of a major version upgrade! Mainly includes the following major changes: 1, support internationalized! Rails2.2 integrates a i18n framework

  • Optimize Debian / Ubuntu under ruby

    We all know that Debian / Ubuntu through apt-get to install the ruby packages very slow (Reference: Ruby implementation of various amendments to the Performance Evaluation version) Usually we are, through their own www.ruby-lang.org from the download sour

  • Rails to monitor the process of memory leaks skills

    Rails applications easier to encounter two types of performance problems: Rails implementation of a class are very slow, CPU consumption too high; The other is the process of memory leaks Rails. To resolve these two types of questions are necessary before

  • ruby MBARI large patches Performance Evaluation Report

    Before JavaEye news ruby memory leak culprit - the specter of a detailed analysis of the current pointer Ruby official version (MRI version) causes memory leaks. Brent Roman today issued a Super patch , Which contains 6 patch file to resolve the Ruby ...

  • extjs development environment set up and practice

    1, download and extract the extjs 2, download eclipse and Eclipse AJAX Toolkit Framework (ATF) I have been accustomed to using eclipse as a development environment, a variety of open-source plugin so that eclipse has all-around performance, operating effi

blog comments powered by Disqus
Recent
Recent Entries
Tag Cloud
Random Entries