<?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>Habib Heydarian's Blog @ Microsoft : Historical Debugger</title><link>http://blogs.msdn.com/habibh/archive/tags/Historical+Debugger/default.aspx</link><description>Tags: Historical Debugger</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Coverage of the Visual Studio 2010 Historical Debugger</title><link>http://blogs.msdn.com/habibh/archive/2009/09/21/coverage-of-the-visual-studio-2010-historical-debugger.aspx</link><pubDate>Mon, 21 Sep 2009 10:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9897051</guid><dc:creator>habibh</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/habibh/comments/9897051.aspx</comments><wfw:commentRss>http://blogs.msdn.com/habibh/commentrss.aspx?PostID=9897051</wfw:commentRss><description>&lt;p&gt;During the last couple of months, I've covered the Historical Debugger extensively. If you are interested in learning more about this new feature in Visual Studio 2010, the following blog entries should help you get started.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/habibh/archive/2009/06/18/an-in-depth-look-at-the-historical-debugger-in-visual-studio-2010-part-i.aspx"&gt;An in depth look at the Historical Debugger in Visual Studio 2010 (Part I)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/habibh/archive/2009/06/18/an-in-depth-look-at-the-historical-debugger-in-visual-studio-2010-part-ii.aspx"&gt;An in depth look at the Historical Debugger in Visual Studio 2010 (Part II)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/habibh/archive/2009/06/18/an-in-depth-look-at-the-historical-debugger-in-visual-studio-2010-part-iii.aspx"&gt;An in depth look at the Historical Debugger in Visual Studio 2010 (Part III)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/habibh/archive/2009/06/18/an-in-depth-look-at-the-historical-debugger-in-visual-studio-2010-part-iv.aspx"&gt;An in depth look at the Historical Debugger in Visual Studio 2010 (Part IV)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/habibh/archive/2009/06/18/an-in-depth-look-at-the-historical-debugger-in-visual-studio-2010-part-v.aspx"&gt;An in depth look at the Historical Debugger in Visual Studio 2010 (Part V)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/habibh/archive/2009/07/14/debugging-linq-to-sql-queries-using-the-historical-debugger.aspx"&gt;Debugging LINQ to SQL queries using the Historical Debugger&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/habibh/archive/2009/07/23/the-anatomy-of-the-historical-debugger-navigation-bar-navbar.aspx"&gt;The anatomy of the Historical Debugger Navigation Bar (Navbar)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/habibh/archive/2009/08/04/how-to-debug-an-exception-with-the-visual-studio-2010-historical-debugger.aspx"&gt;How to debug an exception with the Visual Studio 2010 Historical Debugger&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Habib Heydarian.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9897051" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/habibh/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/habibh/archive/tags/Historical+Debugger/default.aspx">Historical Debugger</category><category domain="http://blogs.msdn.com/habibh/archive/tags/VSTS+Developing/default.aspx">VSTS Developing</category></item><item><title>An in depth look at the Historical Debugger in Visual Studio 2010 (Part VI)</title><link>http://blogs.msdn.com/habibh/archive/2009/09/18/an-in-depth-look-at-the-historical-debugger-in-visual-studio-2010-part-vi.aspx</link><pubDate>Sat, 19 Sep 2009 06:48:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9897049</guid><dc:creator>habibh</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/habibh/comments/9897049.aspx</comments><wfw:commentRss>http://blogs.msdn.com/habibh/commentrss.aspx?PostID=9897049</wfw:commentRss><description>&lt;p&gt;In previous blogs, I have covered the Historical Debugger extensively and talked about many of the scenarios. In this post, I'll walk through another scenario where the Historical Debugger is very useful which is Load Testing. When loading testing an application, you can have the Historical Debugger collect information during the run and if one or more of the tests fail, you can use the Historical Debugger log file to debug the test failure(s).&lt;/p&gt;  &lt;p&gt;Let's walk through an example. For this walkthrough, I have a Load Test which contains a single Web Test. The application under test is the&amp;#160; BeerHouse sample application.&lt;/p&gt;  &lt;p&gt;The first step in setting up the Historical Debugger for collecting data during load testing is to enable the &amp;quot;Diagnostic Tracing&amp;quot; option in the Test Settings, as shown below.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Test Settings" border="0" alt="Test Settings" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_96C6/image_3.png" width="766" height="567" /&gt;&lt;/p&gt;  &lt;p&gt;Once you've enabled the Historical Debugger, the next step is to run the Load Test. After the Load Test is complete, you should see the test result details which also includes the number of errors, shown below.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_96C6/image_5.png" width="862" height="656" /&gt; &lt;/p&gt;  &lt;p&gt;While the Load Test was executing, the Historical Debugger was recording the execution history. The following screenshot shows the Historical Debugger log file (QTAgent32_000013d0_090918_204309.tdlog).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_96C6/image_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Historical Debugger Log file" border="0" alt="Historical Debugger Log file" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_96C6/image_thumb.png" width="813" height="424" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Double-clicking the log file opens the Historical Debugger Summary page, shown below. Using the summary page, you can investigate the root cause of the test failure.&lt;/p&gt;  &lt;p&gt;&lt;img title="Historical Debugger Summary page" border="0" alt="Historical Debugger Summary page" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_DCB2/image_21.png" width="880" height="811" /&gt;&lt;/p&gt;  &lt;p&gt;Habib Heydarian.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9897049" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/habibh/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/habibh/archive/tags/Historical+Debugger/default.aspx">Historical Debugger</category><category domain="http://blogs.msdn.com/habibh/archive/tags/VSTS+Developing/default.aspx">VSTS Developing</category></item><item><title>How to debug an exception with the Visual Studio 2010 Historical Debugger</title><link>http://blogs.msdn.com/habibh/archive/2009/08/04/how-to-debug-an-exception-with-the-visual-studio-2010-historical-debugger.aspx</link><pubDate>Wed, 05 Aug 2009 09:08:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9857747</guid><dc:creator>habibh</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/habibh/comments/9857747.aspx</comments><wfw:commentRss>http://blogs.msdn.com/habibh/commentrss.aspx?PostID=9857747</wfw:commentRss><description>&lt;p&gt;In a previous &lt;a href="http://blogs.msdn.com/habibh/archive/2009/07/14/debugging-linq-to-sql-queries-using-the-historical-debugger.aspx"&gt;blog&lt;/a&gt;, I covered how to debug a LINQ to SQL query using the Historical Debugger. In this blog, I'll discuss using the Historical Debugger to debug an exception. The are a couple of reasons why the Historical Debugger is so useful when it comes to debugging exceptions:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;If your application handles the exception (catches it), you can see where it occurred &lt;/li&gt;    &lt;li&gt;You can see what happened &lt;em&gt;before&lt;/em&gt; and &lt;em&gt;after&lt;/em&gt; the exception. The ramifications of this capability are tremendous! &lt;/li&gt;    &lt;li&gt;You can double-click on an exception and go directly in your code where the exception occurred or was handled. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Let's go through an example. In the following screenshot, you can see that there are a number exceptions that were both thrown and caught. This is indicated by the &lt;strong&gt;&lt;em&gt;Exception:&lt;/em&gt;&lt;/strong&gt; prefix.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Debug History window" border="0" alt="Debug History window" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/HowtodebuganexceptionwiththeVisualStudio_1228B/image_3.png" width="513" height="538" /&gt; &lt;/p&gt;  &lt;p&gt;Double-clicking on the exception above brings up the source window and displays the method where the exception occurred.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Historical Debugger in source" border="0" alt="Historical Debugger in source" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/HowtodebuganexceptionwiththeVisualStudio_1228B/image_8.png" width="805" height="602" /&gt;&lt;/p&gt;  &lt;p&gt;Last but not least, using the Debug History window, you can filter out all other events and only display exceptions, as shown below.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Filter exceptions in Debug History window" border="0" alt="Filter exceptions in Debug History window" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/HowtodebuganexceptionwiththeVisualStudio_1228B/image_11.png" width="517" height="542" /&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Habib Heydarian.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9857747" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/habibh/archive/tags/Debugging/default.aspx">Debugging</category><category domain="http://blogs.msdn.com/habibh/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/habibh/archive/tags/Historical+Debugger/default.aspx">Historical Debugger</category><category domain="http://blogs.msdn.com/habibh/archive/tags/VSTS+Developing/default.aspx">VSTS Developing</category></item><item><title>The anatomy of the Historical Debugger Navigation Bar (Navbar)</title><link>http://blogs.msdn.com/habibh/archive/2009/07/23/the-anatomy-of-the-historical-debugger-navigation-bar-navbar.aspx</link><pubDate>Thu, 23 Jul 2009 23:52:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9846757</guid><dc:creator>habibh</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/habibh/comments/9846757.aspx</comments><wfw:commentRss>http://blogs.msdn.com/habibh/commentrss.aspx?PostID=9846757</wfw:commentRss><description>&lt;p&gt;In a recent &lt;a href="http://channel9.msdn.com/shows/10-4/10-4-Episode-28-An-Introduction-to-the-Historical-Debugger/"&gt;Channel 9 10-4 &lt;/a&gt;video, Brian Keller introduced the Historical Debugger in Visual Studio Team System 2010. One of the features that he described in his video was the &lt;em&gt;Historical Debugger Navigation Bar (Navbar) &lt;/em&gt;which he used to &lt;em&gt;step back&lt;/em&gt; in the application.&lt;/p&gt;  &lt;p&gt;In this post, I'm going to describe in detail what the navigation bar does and how to use it. Let's start with a screenshot of what I mean by the navigation bar.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Historical Debugger Navigation Bar" border="0" alt="Historical Debugger Navigation Bar" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/TheanatomyoftheHistoricalDebuggerNavigat_13781/image_15.png" width="800" height="727" /&gt; &lt;/p&gt;  &lt;p&gt;The idea behind the Historical Debugger Navigation Bar is that you can use it to &amp;quot;time travel&amp;quot; through your application and go back and forward in your application to debug a problem. Think of it as the remote control for your Digital Video Recorder (DVR). You can &lt;em&gt;rewind&lt;/em&gt; and &lt;em&gt;fast forward&lt;/em&gt; as well as &lt;em&gt;skip&lt;/em&gt; to sections of your application that you want to debug. The following screenshot shows what the individual controls on the Navbar do and the corresponding shortcut keys.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/TheanatomyoftheHistoricalDebuggerNavigat_13781/image_7.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Historical Debugger Navigation Control" border="0" alt="Historical Debugger Navigation Control" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/TheanatomyoftheHistoricalDebuggerNavigat_13781/image_thumb_1.png" width="385" height="207" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can download &lt;a href="http://msdn.microsoft.com/en-us/teamsystem/dd819231.aspx"&gt;Visual Studio Team System Beta 1&lt;/a&gt; which includes the Historical Debugger. I've included the following sample code below so that you can use it to play around with the Historical Debugger. I'm always eager to hear your feedback.&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Program&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main()&lt;br /&gt;    {&lt;br /&gt;        Sphere earth = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Sphere();&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; earthRadius = 3956.6; &lt;span style="color: #008000"&gt;// miles&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; earthArea = earth.CalculateArea(earthRadius);&lt;br /&gt;        Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;The area of earth is {0} square miles&amp;quot;&lt;/span&gt;, earthArea);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Circle&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #008000"&gt;// Area = PI * (R) ^ 2&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; CalculateArea(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; radius)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (Math.PI * Math.Pow(radius, 2));&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Sphere&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: #008000"&gt;// Area = 4 * Area of Circle&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; CalculateArea(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; radius)&lt;br /&gt;    {&lt;br /&gt;        Circle c = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Circle();&lt;br /&gt;        &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (4 * c.CalculateArea(radius));&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Habib Heydarian.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9846757" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/habibh/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/habibh/archive/tags/Historical+Debugger/default.aspx">Historical Debugger</category><category domain="http://blogs.msdn.com/habibh/archive/tags/VSTS+Developing/default.aspx">VSTS Developing</category></item><item><title>An in depth look at the Historical Debugger in Visual Studio 2010 (Part V)</title><link>http://blogs.msdn.com/habibh/archive/2009/06/18/an-in-depth-look-at-the-historical-debugger-in-visual-studio-2010-part-v.aspx</link><pubDate>Fri, 19 Jun 2009 03:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9792472</guid><dc:creator>habibh</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/habibh/comments/9792472.aspx</comments><wfw:commentRss>http://blogs.msdn.com/habibh/commentrss.aspx?PostID=9792472</wfw:commentRss><description>&lt;p&gt;In the fifth installment of this series, I’m going to look at how to use the Historical Debugger to diagnose a Unit Test failure. The experience for using the Historical Debugger for debugging Unit Testing is somewhat similar to diagnosing a manual test failure but the steps are quit different.&lt;/p&gt;  &lt;h3&gt;Example: Debugging a Unit Test Failure&lt;/h3&gt;  &lt;p&gt;The WPF Patient Monitoring solution that I’m using for this example contains several Unit Tests that test the charting functionality in the application. You can see the list of tests in Test View window below.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Test View window" border="0" alt="Test View window" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_DCB2/image_3.png" width="298" height="542" /&gt; &lt;/p&gt;  &lt;p&gt;In order to enable the Historical Debugger, the first step is to configure the Test Settings by editing the *.testrunconfig file in the solution, as shown below.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Modify Test Settings to enable the Historical Debugger" border="0" alt="Modify Test Settings to enable the Historical Debugger" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_DCB2/image_6.png" width="276" height="297" /&gt;&lt;/p&gt;  &lt;p&gt;In the &amp;quot;Configure Test Settings&amp;quot; dialog, select the &lt;strong&gt;Data and Diagnostics&lt;/strong&gt; tab on the left. Then, check the &lt;strong&gt;Diagnostic Trace Collector&lt;/strong&gt; option to enable the Historical Debugger as shown below.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Configure Test Settings dialog" border="0" alt="Configure Test Settings dialog" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_DCB2/image_12.png" width="768" height="715" /&gt; &lt;/p&gt;  &lt;p&gt;After configuring the test settings, you can run all the Unit Tests in the solution. When you run the Unit Tests and one or more tests fail, you can investigate the failure further by opening the Test Results Details for each failed Unit Test from the Tests Results window, as shown below.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Test Results window" border="0" alt="Test Results window" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_DCB2/image_24.png" width="618" height="346" /&gt; &lt;/p&gt;  &lt;p&gt;The Test Results Details window displays various information about why a test failed. Included in this window is a link to the Historical Debugger log that contains the history of what the application under test (not the test itself) was doing when the error occurred.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Test Results Details window" border="0" alt="Test Results Details window" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_DCB2/image_18.png" width="718" height="454" /&gt; &lt;/p&gt;  &lt;p&gt;Opening the log file displays the Historical Debugger Summary page. To investigate why the test failed, a developer can double-click any of the exceptions in the Exceptions list. This will start replaying the set of events that led to the failure.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Historical Debugger Summary page" border="0" alt="Historical Debugger Summary page" src="http://blogs.msdn.com/blogfiles/habibh/WindowsLiveWriter/AnindepthlookattheHistoricalDebuggerinVi_DCB2/image_21.png" width="880" height="811" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Habib Heydarian.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9792472" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/habibh/archive/tags/Historical+Debugger/default.aspx">Historical Debugger</category></item></channel></rss>