I demonstrated some features of the latest version of my Web Development Helper during my PDC session. Version 0.8.1 is now published and available for download.
The tool is implemented as an Internet Explorer browser helper object. When installed, it provides a console window at the bottom on the IE window, and can be launched using the View | Explorer Bar, or Tools menu. This is a pet project that I work on during my spare time. It started as a tool scoped to ASP.NET scenarios, but has evolved into something that targets Web applications in general. A number of features described below are useful for those developing AJAX-style, rich Web applications.
HTTP Traffic Monitoring
This feature allows you to inspect all out-going HTTP and HTTPS requests from the current browser instance. It does not mess with your OS-level proxy settings, and is instead scoped to a single internet explorer process. As a result, it is more convenient to use, and does not show random HTTP requests that other applications might have issued in parallel.
As shown in the screenshot, the logs collect in the console window as they are captured, and can be double clicked to view more information which includes request and response headers, the out-going request body if there is one, and the received response content. It is a great way to see XMLHTTP requests, and corresponding response from the server whether it is XML or JSON, or other requests in the context of image pre-fetching and other scenarios. It is also a great way of debugging WebResource.axd requests if you are using this new ASP.NET 2.0 feature.
You can specify a subset of URL types to be logged to further reduce the noise by specifying a list of extensions to log via the Options dialog.
Script Errors and Immediate Window
This feature implements an in-process script debugger to handle script runtime errors and to log debug trace output.
As shown in the screenshot, runtime errors are caught, and the full call stack (script URL, line number, and actual line of code) is shown. You can choose to continue or abort the script (useful if you know continuing isn't going to help and you're going to get a series of errors). Alternatively you can choose to debug, in which case the tool's debugger will disconnect, and attempt to raise the error again that should cause Visual Studio's just-in-time debugger experience to trigger.
While the debugger is attached, it also handles any resulting debug trace your script may generate (using Debug.writeln in IE JavaScript, or debug.trace using the Atlas framework) and display that in the script console window.
Finally, the script window also has a window where you can type in some dynamic script, and have it execute in the context of the document. This allows you to inspect the current state of the document, script objects etc. You can even load and save frequently used scripts.
DOM Inspector
The DOM inspector allows you to view the live document tree being rendered by the browser. As such it is useful if you want to inspect dynamically generated content. The DOM inspector highlights the selected element, and allows you to view the HTML and CSS attributes for that element, or its markup representation.
The DOM inspector can display all elements in the document tree, or the selected elements, or elements matching a particular ID or CSS class.
In addition to all these features, the Web Development Helper preserves the ASP.NET specific features it started with. To use the ASP.NET features, you must install a corresponding HTTP module on your server, globally or per application as described in the associated readme. These features include a view state deserializer, trace information viewer, and other tools.
I hope you find the tool useful, and share your experiences, as well as take time to make suggestions for how it could be improved further. Specifically, I look forward to hearing from you what sort of capabilities would be helpful to have, both for client and server development of the next generation of Web applications. I have a list of features I'd like to build into the tool over time, but hearing from you on real scenarios would go a long way into prioritizing what gets done and in what form.