<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>JScript Blog : Debugging</title><link>http://blogs.msdn.com/jscript/archive/tags/Debugging/default.aspx</link><description>Tags: Debugging</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>JScript Debugger in Internet Explorer 8 Beta 2</title><link>http://blogs.msdn.com/jscript/archive/2008/09/17/jscript-debugger-in-internet-explorer-8-beta-2.aspx</link><pubDate>Wed, 17 Sep 2008 12:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8955251</guid><dc:creator>deepak.jain</dc:creator><slash:comments>31</slash:comments><comments>http://blogs.msdn.com/jscript/comments/8955251.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jscript/commentrss.aspx?PostID=8955251</wfw:commentRss><wfw:comment>http://blogs.msdn.com/jscript/rsscomments.aspx?PostID=8955251</wfw:comment><description>&lt;P&gt;In Internet Explorer 8 Beta 2 JScript team has focused on improving developer productivity. You can read &lt;A href="http://blogs.msdn.com/ie/archive/2008/09/09/what-s-new-for-jscript-for-ie8-beta-2.aspx" mce_href="http://blogs.msdn.com/ie/archive/2008/09/09/what-s-new-for-jscript-for-ie8-beta-2.aspx"&gt;'What’s new in JScript for IE8 Beta 2'&lt;/A&gt; and check out the &lt;A href="http://channel9.msdn.com/posts/janakiram/Whats-New-for-JScript-in-IE8/" mce_href="http://channel9.msdn.com/posts/janakiram/Whats-New-for-JScript-in-IE8/"&gt;JScript PM Channel 9 video&lt;/A&gt; to learn more. As part of our focus on developer productivity we have continued to invest in the IE8 Developer Tools in IE8 and added a JScript Profiler to the developer tools. You can read &lt;A href="http://blogs.msdn.com/ie/archive/2008/09/11/introducing-the-ie8-developer-tools-jscript-profiler.aspx" mce_href="http://blogs.msdn.com/ie/archive/2008/09/11/introducing-the-ie8-developer-tools-jscript-profiler.aspx"&gt;'Introducing the IE8 Developer Tools JScript Profiler'&lt;/A&gt; for more details on the profiler. The JScript profiler along with the JScript debugger we introduced in Internet Explorer Beta 1 will help you get your site working correctly and optimally. &lt;/P&gt;
&lt;P&gt;In this blog I will give more details about the following key improvements we have made in debugger for beta 2, you can check my &lt;A href="http://blogs.msdn.com/jscript/archive/2008/03/13/jscript-debugger-in-internet-explorer-8.aspx" mce_href="http://blogs.msdn.com/jscript/archive/2008/03/13/jscript-debugger-in-internet-explorer-8.aspx"&gt;JScript Debugger in Internet Explorer 8 Beta 1&lt;/A&gt; blog for more details on the features we released in Beta 1:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Improved script viewer and script explorer &lt;/LI&gt;
&lt;LI&gt;More powerful script console &lt;/LI&gt;
&lt;LI&gt;New execution control features &lt;/LI&gt;
&lt;LI&gt;Better keyboard navigation and overall usability &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;One of the goals for the script debugger has been to make sure that debugger has minimal impact on your regular browsing. We made that possible by moving JScript engine to debug mode only when you press start debugging. With this, you no longer need to keep debugging enabled in the Internet Options and thus don’t suffer the performance hit. We also wanted to provide you lot of power even when you are not debugging and ensure that you don’t need to transition to debug mode unless you have to debug. Now with Beta 2 we have added some powerful features to make that possible.&lt;/P&gt;
&lt;H3&gt;Improvements in Script Viewer&lt;/H3&gt;
&lt;P&gt;The script viewer in Beta 1 showed all the sources when you are debugging but it only showed source for main page when not debugging. Now with Beta 2 you will be able to &lt;B&gt;browse all the&lt;/B&gt; &lt;B&gt;sources even when you are not debugging&lt;/B&gt;. You can also set breakpoints even before starting debugging. The breakpoints will persist till you close IE window. To make code easier to read, we have updated the source viewer to show &lt;B&gt;sources in syntax color&lt;/B&gt;. This is similar to what you might expect in code editors such as Visual Studio. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_22.png" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_22.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=355 alt="Source viewer with syntax colored code" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_thumb_9.png" width=625 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_thumb_9.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;We have also &lt;B&gt;updated the script explorer&lt;/B&gt; dropdown to make it easy to browse and select files. Now the script explorer will show the domain to which the script file belongs to. We have also separated the eval code, other dynamic scripts and scripts executed from Console into ‘Others’ submenu of the script explorer. With this change it will be easy for you to find the script file you are looking for.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_20.png" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_20.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=373 alt="Source explorer dropdown" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_thumb_8.png" width=625 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H3&gt;Updated Script Console&lt;/H3&gt;
&lt;P&gt;Console panel in the script tab makes it easy for you to try out new scripts. You can execute the scripts in the console irrespective of whether you are debugging or not. In Beta 2 we have improved the look and feel of the Console so that it is easy to read the output. &lt;/P&gt;
&lt;P&gt;To make it easy for you to fix errors on your page, &lt;B&gt;Console also logs all the script errors&lt;/B&gt;. These errors will be logged in the Console once Developer Tools has been opened for the tab. You can also navigate to the error location in script by clicking on the error hyperlink in the Console.&lt;/P&gt;
&lt;P&gt;To help you log message to Console from your script source we have added support for ‘console’ object. Developer Tools provides multiple level of logging with &lt;B&gt;console.log()&lt;/B&gt;, &lt;B&gt;console.info()&lt;/B&gt;, &lt;B&gt;console.warn()&lt;/B&gt;, &lt;B&gt;console.error()&lt;/B&gt; and &lt;B&gt;console.assert(). &lt;/B&gt;Instead of using &lt;B&gt;window.alert&lt;/B&gt; for debugging, you can use these console commands to log messages to the Console. You can call these console commands with a list of arguments that will be concatenated to generate the output string. The input parameters can also be formatted by using substitution patterns in the style of printf(). &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_18.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=426 alt="Console with runtime error and console.log output" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_thumb_7.png" width=489 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_thumb_7.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;You can also control what messages you want to see in the Console pane by using the context menu. Context menu also provide you option to clear the console of all messages. If you only want to clear console.log messages, you can use &lt;B&gt;console.clear()&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_16.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=425 alt="Context menu for Console" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_thumb_6.png" width=632 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_thumb_6.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;The console.log is extensible and you can add your own console commands through custom scripts. For example you can add console.debug() command which takes string arguments by using following script – &lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN-BOTTOM: 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;console.debug = &lt;SPAN style="COLOR: blue"&gt;function&lt;/SPAN&gt;(){ &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; args = &lt;SPAN style="COLOR: #a31515"&gt;""&lt;/SPAN&gt;; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;for&lt;/SPAN&gt;(&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; x=0; x&amp;lt;arguments.length; x++) &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;{ &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;args += arguments[x]; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;} &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;console.log(&lt;SPAN style="COLOR: #a31515"&gt;"DEBUG: "&lt;/SPAN&gt; + args); &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: " yes?="yes?" mso-no-proof:="mso-no-proof:" new?;="new?;" courier="courier"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;This can be easily enhanced to take formatted strings.&lt;/P&gt;
&lt;H3&gt;More execution control features&lt;/H3&gt;
&lt;P&gt;The Developer Tools in Beta 1 offered execution control features like Break All, Step In, Step Out, Step Over. In Beta 2 we have added support for &lt;B&gt;Conditional Breakpoints&lt;/B&gt; and &lt;B&gt;Break on Error&lt;/B&gt;. In conditional breakpoint you can give any valid JScript expression to be evaluated and debugger will only halt if the expression evaluates to true. Break on Error provides a toggle switch to control whether debugger will break on JScript runtime error or continue while ignoring the error. Regardless of the toggle state the error will be logged to the console so that you can investigate them at your convenience.&lt;/P&gt;
&lt;P&gt;We have also extended the just-in-time debugging experience of Internet Explorer. Although with IE8 you don’t need to keep debugging enabled from Internet Options, still if you have debugging enabled in the IE and you hit a script error, you now get an option to use Developer Tools debugger. You can still use Visual Studio and other stand alone debuggers by unselecting the check-box in the message and clicking on Yes.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_14.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=225 alt="Just in time debugging dialog" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_thumb.png" width=401 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8Beta2_D7A4/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H3&gt;Improved Usability&lt;/H3&gt;
&lt;P&gt;In Beta 2 we have added &lt;B&gt;extensive keyboard shortcuts&lt;/B&gt;. If you have been using Visual Studio for debugging script in IE, you already know the keyboard shortcuts! We have kept the keyboard shortcuts as close to Visual Studio as possible. List of&lt;B&gt; &lt;/B&gt;all the keyboard shortcuts supported by JScript Debugger is available &lt;A href="http://msdn.microsoft.com/en-us/library/cc848896(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc848896(VS.85).aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;We have added search functionality to Developer Tools. Searching in Script tab will show you the search term highlighted in the source viewer. When you browse to a new site or select another file from the source explorer dropdown the search term will continue to be highlighted. &lt;/P&gt;
&lt;P&gt;We have also made other improvements like increased tool tips to improve the usability and looks of the debugger.&lt;/P&gt;
&lt;H3&gt;More Information&lt;/H3&gt;
&lt;P&gt;For more information on the Developer Tools and JScript Debugger check out these articles:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc848892(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc848892(VS.85).aspx"&gt;Developer Tools: Script Debugging Overview&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc848896(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc848896(VS.85).aspx"&gt;Developer Tools: Keyboard Shortcuts&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/jscript/archive/2008/03/13/jscript-debugger-in-internet-explorer-8.aspx" mce_href="http://blogs.msdn.com/jscript/archive/2008/03/13/jscript-debugger-in-internet-explorer-8.aspx"&gt;JScript Debugger in Internet Explorer 8 Beta 1&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/ie/archive/2008/09/03/developer-tools-in-internet-explorer-8-beta-2.aspx" mce_href="http://blogs.msdn.com/ie/archive/2008/09/03/developer-tools-in-internet-explorer-8-beta-2.aspx"&gt;Developer Tools in Internet Explorer 8 Beta 2&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc848894(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc848894(VS.85).aspx"&gt;Discovering the Internet Explorer 8 Developer Tools&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc848893(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc848893(VS.85).aspx"&gt;Internet Explorer 8 Developer Tools GUI Reference&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;We look forward to your feedback about the debugger so please leave us a comment in this post. Thanks, and enjoy IE8 Beta 2! &lt;/P&gt;
&lt;P&gt;Deepak Jain&lt;/P&gt;
&lt;P&gt;Program Manager&lt;/P&gt;
&lt;P&gt;JScript Team&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8955251" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jscript/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Debugging/default.aspx">Debugging</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Jscript/default.aspx">Jscript</category><category domain="http://blogs.msdn.com/jscript/archive/tags/IE/default.aspx">IE</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Developers/default.aspx">Developers</category></item><item><title>IE8 Script Debugger - Under the Hood</title><link>http://blogs.msdn.com/jscript/archive/2008/03/18/ie8-script-debugger-under-the-hood.aspx</link><pubDate>Tue, 18 Mar 2008 12:55:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8311597</guid><dc:creator>Sheetal Kamat</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/jscript/comments/8311597.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jscript/commentrss.aspx?PostID=8311597</wfw:commentRss><wfw:comment>http://blogs.msdn.com/jscript/rsscomments.aspx?PostID=8311597</wfw:comment><description>&lt;p&gt;IE8 Beta1 (download available &lt;a href="http://www.microsoft.com/windows/products/winfamily/ie/ie8/default.mspx"&gt;here&lt;/a&gt;) now includes a Script debugger that is part of IE8 Developer Tools. This Script debugger was built by the JScript team and I hope you have been using it to fix all script errors when building your web applications.&lt;/p&gt;  &lt;p&gt;In this post I will be discuss the design of the script debugger.&lt;/p&gt;  &lt;p&gt;The debugger is designed with Active Debugging Framework (more information &lt;a href="http://msdn2.microsoft.com/en-us/magazine/cc301316.aspx"&gt;here&lt;/a&gt;). Here is the block diagram of how debugger looks. &lt;/p&gt;  &lt;p&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="246" alt="Debugger Design" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/IE8ScriptDebuggerUndertheHood_D8D5/Debugger%20Design_1.jpg" width="625" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;A brief description about the different components in the above block diagram: &lt;/p&gt;  &lt;p&gt;IE &amp;#8211; the host controls the JScript engine by providing the script code and other objects that are needed to execute that code. &lt;/p&gt;  &lt;p&gt;The JScript engine is responsible for parsing and executing script code and handling other debugger related operations like stack enumeration, expression evaluation, variable inspection, and both parsing-time and runtime error notifications. The JScript engine interacts with the IE to resolve the external references to named objects (eg. window or document), it also notifies host about execution errors and script state changes.&lt;/p&gt;  &lt;p&gt;The Process Debug Manager (PDM) manages various process related information (where is the process running, thread information, parent-child relationship among threads-processes etc.) and also co-ordinates the interaction between all components like engine, debugger, host etc. &lt;/p&gt;  &lt;p&gt;Debugger is the component that implements the UI and other functionality that normally comes to our mind with word script debugger. &lt;/p&gt;  &lt;p&gt;When we started work on the design for a script debugger for IE8 Developer Tools, the first decision was whether the debugger would be residing in the same process or in a different process. Since the primary reason for building a debugger that is available with IE8 Developer Tools was to provide an integrated debugging experience, we decided to go down the path of building an in-process debugger. Also, having the script debugger in the same process would result in better integration with the host since the debugger will have direct access to host events like say page load and there would be fewer COM calls required to interact with the host or engine.&lt;/p&gt;  &lt;p&gt;As soon as we went down this path of having the script debugger in the same process, we hit a fundamental issue, which was that the JScript engine is loaded by the IE UI (rendering engine) thread. What this meant was that when a breakpoint is hit, the UI thread would halt and the script debugger wouldn&amp;#8217;t even be displayed. To address this issue, we designed the debugger so that the UI of the debugger would be on a different thread than the script engine.&lt;/p&gt;  &lt;p&gt;But with this choice we now had to address the issue of interaction of the debugger with PDM, since this component expects the debugger to be on the same thread. So we split the debugger into two components. The first one, the UI component, renders the debugger application and runs as a separate thread. And the second one, the core or worker component interacts with PDM and host to provide data to the UI component for rendering, and runs on IE&amp;#8217;s UI thread. &lt;/p&gt;  &lt;p&gt;I hope this blog post explains some of the design decisions of the script debugger of the IE8 Developer Tools and the impact on the functionality of the script debugger. &lt;/p&gt;  &lt;p&gt;So how have you been using the script debugger to improve your productivity? We would love to hear from you on your experiences using the script debugger and would also like to know what features you find the most useful. &lt;/p&gt;  &lt;p&gt;Sheetal Kamat, SDE, JScript.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8311597" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jscript/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Debugging/default.aspx">Debugging</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Jscript/default.aspx">Jscript</category><category domain="http://blogs.msdn.com/jscript/archive/tags/IE/default.aspx">IE</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Developers/default.aspx">Developers</category></item><item><title>JScript Debugger in Internet Explorer 8</title><link>http://blogs.msdn.com/jscript/archive/2008/03/13/jscript-debugger-in-internet-explorer-8.aspx</link><pubDate>Thu, 13 Mar 2008 12:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8179743</guid><dc:creator>deepak.jain</dc:creator><slash:comments>19</slash:comments><comments>http://blogs.msdn.com/jscript/comments/8179743.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jscript/commentrss.aspx?PostID=8179743</wfw:commentRss><wfw:comment>http://blogs.msdn.com/jscript/rsscomments.aspx?PostID=8179743</wfw:comment><description>&lt;P&gt;As Shreesh mentioned in his &lt;A href="http://blogs.msdn.com/jscript/archive/2008/03/05/jscript-in-internet-explorer-8-beta-1-for-developers.aspx" mce_href="http://blogs.msdn.com/jscript/archive/2008/03/05/jscript-in-internet-explorer-8-beta-1-for-developers.aspx"&gt;blog&lt;/A&gt;, Internet Explorer 8 has a built-in JScript debugger. With Internet Explorer Developer Tools you get a &lt;B&gt;light weight&lt;/B&gt; JScript debugger that is &lt;B&gt;well integrated in the browser&lt;/B&gt; and available out of the box. This is an &lt;B&gt;in-proc debugger&lt;/B&gt; making sure that you don’t have to launch a separate app. It has familiar Visual Studio feel and features like call stacks, watches, locals and immediate window.&lt;/P&gt;
&lt;P&gt;To get to the debugger just press &lt;B&gt;SHIFT+F12&lt;/B&gt;, or click the developer tools icon in the command bar. After launching the Developer Tools, switch to the script tab.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image002_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image002_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=97 alt="Toolbar - SHIFT+F12" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image002_thumb.jpg" width=468 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image002_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Before starting debugging you can browse the source code of the websites’ main page and also use immediate window to try out JScript code. You can start the debugger session by clicking on the ‘Start Debugging’ button. The debugger lets you debug &lt;B&gt;even when debugging is disabled&lt;/B&gt; in Internet Options Control Panel. This will allow you to enable debugging only for the IE instance you are debugging. All other IE instances will still be in non-debug mode making sure that you don’t get script error dialogs. This will also make sure that debugging won’t have any performance hit on IE instances other than the one being debugged. Debugger &lt;B&gt;will refresh the web page&lt;/B&gt; with your consent, in case debugging was previously disabled. If you want to avoid page refresh, you can enable debugging from Internet Options. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image004_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image004_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=216 alt="Debugging Not Enabled" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image004_thumb.jpg" width=496 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image004_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;After starting debugging, the script debugger provides you execution control. Similar to Visual Studio you can set breakpoints by clicking in the source viewer next to the line number. You can also use context menu or keyboard shortcut (&lt;B&gt;F9&lt;/B&gt;) to set breakpoints on the script statement at the cursor location in source viewer. If you have multiple script statements in a line of code, you can set multiple breakpoints on that line and they will be hit based on script statement. In case you want to break execution at first script statement, debugger provides a &lt;B&gt;Break All&lt;/B&gt; button in the toolbar. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image006_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image006_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=36 alt=Pause src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image006_thumb.jpg" width=136 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image006_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You can also &lt;B&gt;browse the included files and eval() code&lt;/B&gt; using the source explorer drop down list.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image008_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image008_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=215 alt="Browse Scripts" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image008_thumb.jpg" width=628 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image008_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;While debugging, debugger will also &lt;B&gt;break on script runtime error&lt;/B&gt; locations. Debugger will only highlight the script statement that will be executed. On a breakpoint debugger provides you Visual Studio like options to control the execution. You can use following commands to control the execution:&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;Step Into&lt;/B&gt;: Executes the next statement of script and pauses, even if the next statement is inside a new method. You can either use toolbar button or keyboard shortcut &lt;B&gt;F11&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;Step Over&lt;/B&gt;: Executes the next statement of script, continues until the next line of script in the current method, and then pauses. You can either use toolbar button or keyboard shortcut &lt;B&gt;F8&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;Step Out&lt;/B&gt;: Continues executing script until the next statement in the method that called the current method. You can either use toolbar button or keyboard shortcut &lt;B&gt;SHIFT+F11&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;- &lt;B&gt;Continue&lt;/B&gt;: Continue running script without pausing until hitting another breakpoint (if any are set). You can either use toolbar button or keyboard shortcut &lt;B&gt;F5&lt;/B&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image010_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image010_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=105 alt="Execution Control" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image010_thumb.jpg" width=496 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image010_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;At breakpoints you can navigate call stack and inspect local variables. All this functionality is provided in the right hand side tabs of the debugger. Let’s just take a look at each of these tabs – &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Locals – &lt;/B&gt;This tab displays the name, value, and type of all variables available in the current execution scope. Just like Visual Studio, you can drill down in objects hierarchies and change the value of variables. When you step in or step out the variables which have been modified will be indicated with value in red color.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Watch –&lt;/B&gt; Watches are user defined variables or expressions to be watched at each halt of script execution. Like locals you can drill down object hierarchies, change values and observe values changed during stepping through code. Watches can be added either by typing a variable name or expression into the watch window or through context menu available in source view.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image012_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image012_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=249 alt="Watch Window" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image012_thumb.jpg" width=628 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image012_thumb.jpg"&gt;&lt;/A&gt;&lt;/B&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Call Stack –&lt;/B&gt; Whenever the execution is paused at a breakpoint call stack tab will let you transverse the stack and inspect the variables at that execution context. Double clicking on the stack entry will take you to the location in source code.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image014_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image014_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=249 alt="Call Stack" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image014_thumb.jpg" width=628 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image014_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Immediate Window –&lt;/B&gt; Immediate window can be used to run scripts at the runtime. While on a breakpoint the script will be run in the current execution context. You can also use immediate window for running script while not on breakpoint or &lt;B&gt;even when not debugging&lt;/B&gt;. In these scenarios, scripts entered in the immediate window will run in the global scope. Immediate window also gives you option to provide multiline script block by expanding the input window. This can be done using the ‘Multiline’ button. You can go back to the single line input by clicking on the ‘Single Line mode’ button.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image016_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image016_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=249 alt="Immediate Window" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image016_thumb.jpg" width=628 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image016_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Breakpoint&lt;/B&gt; – This tab displays all the breakpoints currently set. You can enable/disable breakpoints by using the check box or the context menu. You can also remove breakpoints using the context menu. Double clicking on the breakpoint will take you to the source code. Breakpoints are maintained until IE8 Developers Tools is closed.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image018_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image018_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=249 alt="Breakpoint Window" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image018_thumb.jpg" width=628 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image018_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This debugger has inbuilt &lt;B&gt;support to debug eval() code and event handlers&lt;/B&gt;. You don’t need to enable any options to debug them.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image020_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image020_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=318 alt="Debugging eval Code" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image020_thumb.jpg" width=628 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image020_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image022_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image022_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=232 alt="Debugging Event Handlers" src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image022_thumb.jpg" width=628 border=0 mce_src="http://blogs.msdn.com/blogfiles/jscript/WindowsLiveWriter/JScriptDebuggerinInternetExplorer8_916F/clip_image022_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;More details on the debugger are available in the &lt;A href="http://go.microsoft.com/fwlink/?LinkId=110279" mce_href="http://go.microsoft.com/fwlink/?LinkId=110279"&gt;Developer Tools Whitepaper&lt;/A&gt;. We will also have some debugger videos up very soon. Keep checking this blog. John from IE team has a &lt;A href="http://blogs.msdn.com/ie/archive/2008/03/07/improved-productivity-through-internet-explorer-8-developer-tools.aspx" mce_href="http://blogs.msdn.com/ie/archive/2008/03/07/improved-productivity-through-internet-explorer-8-developer-tools.aspx"&gt;blog entry&lt;/A&gt;&amp;nbsp; describing the Developer tool and also some &lt;A href="http://msdn2.microsoft.com/en-us/ie/cc307214.aspx?wt.slv=topsectionsee" mce_href="http://msdn2.microsoft.com/en-us/ie/cc307214.aspx?wt.slv=topsectionsee"&gt;overview videos&lt;/A&gt;. The release notes are available &lt;A href="http://support.microsoft.com/kb/949787" mce_href="http://support.microsoft.com/kb/949787"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;We would love to hear back from you about this debugger. Let us know how this debugger has helped you and also any issue you might have encountered.&lt;/P&gt;
&lt;P&gt;Thanks and happy debugging!&lt;/P&gt;
&lt;P&gt;Deepak Jain&lt;/P&gt;
&lt;P&gt;Program Manager&lt;/P&gt;
&lt;P&gt;JScript Team&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8179743" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jscript/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Debugging/default.aspx">Debugging</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Jscript/default.aspx">Jscript</category><category domain="http://blogs.msdn.com/jscript/archive/tags/IE/default.aspx">IE</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Developers/default.aspx">Developers</category></item><item><title>Jscript debugging: Stepwise instructions and video</title><link>http://blogs.msdn.com/jscript/archive/2007/04/24/jscript-debugging-stepwise-instructions-and-video.aspx</link><pubDate>Tue, 24 Apr 2007 09:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2256281</guid><dc:creator>rajesh.bhutani@microsoft.com</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/jscript/comments/2256281.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jscript/commentrss.aspx?PostID=2256281</wfw:commentRss><wfw:comment>http://blogs.msdn.com/jscript/rsscomments.aspx?PostID=2256281</wfw:comment><description>&lt;P&gt;If you are interested in debugging your Jscript code, then you can use Visual Web Developer (VWD) Express edition, a free download from Microsoft website. Exact instruction on how to use VWD for debugging Jscript are listed at the following blog post:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/rajeshbhutani/archive/2007/04/10/debugging-jscript-code-in-ie-using-vwd-express.aspx"&gt;http://blogs.msdn.com/rajeshbhutani/archive/2007/04/10/debugging-jscript-code-in-ie-using-vwd-express.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;If you want to see these steps in action then you can watch the following screencast:&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://channel9.msdn.com/ShowPost.aspx?PostID=301814" target=_blank mce_href="http://channel9.msdn.com/ShowPost.aspx?PostID=301814"&gt;&lt;IMG src="http://channel9.msdn.com/Photos/301814.jpg" mce_src="http://channel9.msdn.com/Photos/301814.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://channel9.msdn.com/ShowPost.aspx?PostID=301814" target=_blank mce_href="http://channel9.msdn.com/ShowPost.aspx?PostID=301814"&gt;http://channel9.msdn.com/ShowPost.aspx?PostID=301814&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2256281" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jscript/archive/tags/Javascript/default.aspx">Javascript</category><category domain="http://blogs.msdn.com/jscript/archive/tags/VWD/default.aspx">VWD</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Debugging/default.aspx">Debugging</category><category domain="http://blogs.msdn.com/jscript/archive/tags/Jscript/default.aspx">Jscript</category></item></channel></rss>