<?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>Random Musings of Jeremy Jameson : Debugging</title><link>http://blogs.msdn.com/jjameson/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>"Web-Enabled" Projects and F5 Debugging with SharePoint</title><link>http://blogs.msdn.com/jjameson/archive/2009/09/29/web-enabled-projects-and-f5-debugging-with-sharepoint.aspx</link><pubDate>Tue, 29 Sep 2009 17:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9900794</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9900794.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9900794</wfw:commentRss><description>&lt;P&gt;In &lt;A href="http://blogs.msdn.com/jjameson/archive/2009/09/28/sample-walkthrough-of-the-dr-dada-approach-to-sharepoint.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2009/09/28/sample-walkthrough-of-the-dr-dada-approach-to-sharepoint.aspx"&gt;yesterday's post&lt;/A&gt;, I provided a sample walkthrough of the "DR.DADA" approach to developing solutions for Microsoft Office SharePoint Server (MOSS) 2007. However, I intentionally left out a few things because a) that post was already getting ridiculously long, and b) I felt these were important enough to cover separately.&lt;/P&gt;
&lt;P&gt;One of the incorrect statements I've heard a few times over the last couple of years is that you can't do "&lt;KBD&gt;F5&lt;/KBD&gt; debugging" when working with SharePoint. Well, I suppose that in the strictest sense, this is a true statement -- assuming you don't go crazy with post-build events (for example, to deploy your updated WSP, re-GAC your assemblies, and recycle the application pool). Instead, most developers -- including myself back in the early days of MOSS 2007 -- start debugging by attaching to the IIS worker process (i.e. w3wp.exe).&lt;/P&gt;
&lt;P&gt;However, when you have multiple instances of w3wp.exe (for example you are running a couple of SharePoint Web applications in addition to Central Administration) it can be tedious attaching to the right worker process. [In other words, the old keystroke combination many of us grew accustomed to back in the days of working on a single ASP.NET Web appliction -- specifically, pressing &lt;KBD&gt;CTRL+SHIFT+P&lt;/KBD&gt; (to bring up the &lt;STRONG&gt;Attach To Process&lt;/STRONG&gt; dialog box), pressing &lt;KBD&gt;W&lt;/KBD&gt; (to scroll the list of processes down to w3wp.exe), followed by two quick presses of the &lt;KBD&gt;Enter&lt;/KBD&gt; key -- doesn't work anymore because we might attach to the wrong worker process. Even worse, we might not be able to quickly tell which w3wp.exe instance to attach to without expanding the &lt;STRONG&gt;User Name&lt;/STRONG&gt; column -- or even worse still, having to use &lt;SAMP&gt;iisapp.vbs&lt;/SAMP&gt; (in Windows Server 2003) or &lt;SAMP&gt;C:\Windows\System32\inetsrv\appcmd.exe list apppool&lt;/SAMP&gt; (in Windows Server 2008) to determine which process to attach to.]&lt;/P&gt;
&lt;P&gt;Don't fret...attaching to the right worker process to debug your SharePoint code &lt;EM&gt;can&lt;/EM&gt; be very easy.&lt;/P&gt;
&lt;P&gt;Suppose you've created a &lt;STRONG&gt;Class Library&lt;/STRONG&gt; project in Visual Studio for your feature, which includes things like a master page with code-behind, custom Web Parts, event receivers, or perhaps even a feature receiver or two -- and now you actually need to debug that code. [Note that there's actually a much &lt;A href="http://blogs.msdn.com/jjameson/archive/2007/03/22/what-s-in-a-name-defaultfeaturereceiver-vs-featureconfigurator.aspx" mce_href="http://blogs.msdn.com/jjameson/archive/2007/03/22/what-s-in-a-name-defaultfeaturereceiver-vs-featureconfigurator.aspx"&gt;easier way to debug your feature receivers&lt;/A&gt;, but for the purposes of this post, suppose you actually want to debug activating a feature through &lt;STRONG&gt;Site Settings&lt;/STRONG&gt;.]&lt;/P&gt;
&lt;P&gt;First, you need to "Web-enable" your class library project. [I'm not sure if "Web-enabling" is actually the official name for this -- in fact, I doubt it. However, that's what I've been calling it for a few years now and it seems to describe the concept to most people I tell this to.]&lt;/P&gt;
&lt;P&gt;Unfortunately, there's no user interface in Visual Studio 2008 for "Web-enabling" your project so you have to modify the MSBuild project file directly.&lt;/P&gt;
&lt;P&gt;To Web-enable your C# class library project and configure for ASP.NET debugging:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;In the &lt;STRONG&gt;Solution Explorer &lt;/STRONG&gt;window, select the class library project.&lt;/LI&gt;
&lt;LI&gt;Right-click the project name and then click &lt;STRONG&gt;Unload Project&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Right-click the unloaded project and then click &lt;STRONG&gt;Edit {project name}&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Below the &lt;CODE&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ProjectGuid&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/CODE&gt; element, add the following:&lt;BR&gt;&lt;BR&gt;&lt;CODE&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ProjectTypeGuids&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;ProjectTypeGuids&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;Below the &lt;CODE&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Import&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Project&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: #0000ff"&gt;$(MSBuildToolsPath)\Microsoft.CSharp.targets&lt;/SPAN&gt;"&lt;SPAN style="COLOR: #0000ff"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/CODE&gt; element, add the following:&lt;BR&gt;&lt;BR&gt;&lt;CODE&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Import&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Project&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: #0000ff"&gt;$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets&lt;/SPAN&gt;"&lt;SPAN style="COLOR: #0000ff"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;Condition&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;=&lt;/SPAN&gt;""&lt;SPAN style="COLOR: #0000ff"&gt; /&amp;gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;BR&gt;&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;On the &lt;STRONG&gt;File&lt;/STRONG&gt; menu, click &lt;STRONG&gt;Close&lt;/STRONG&gt;. When prompted to save the file, click &lt;STRONG&gt;Yes&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;In the &lt;STRONG&gt;Solution Explorer &lt;/STRONG&gt;window, right-click the project, and then click &lt;STRONG&gt;Reload Project&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Wait for the project to finish loading, right-click the project name again, and click &lt;STRONG&gt;Properties&lt;/STRONG&gt;. Notice that there is now a &lt;STRONG&gt;Web &lt;/STRONG&gt;tab in the project settings.&lt;/LI&gt;
&lt;LI&gt;On the project settings &lt;STRONG&gt;Web &lt;/STRONG&gt;tab, under the &lt;STRONG&gt;Servers &lt;/STRONG&gt;section: 
&lt;OL&gt;
&lt;LI&gt;Clear the &lt;STRONG&gt;Apply server settings to all users (store in project file)&lt;/STRONG&gt; checkbox (since various members of the Development team might use different URLs for their local SharePoint sites).&lt;/LI&gt;
&lt;LI&gt;Select the &lt;STRONG&gt;Use Custom Web Server &lt;/STRONG&gt;option, and in the &lt;STRONG&gt;Server Url &lt;/STRONG&gt;box, type the URL of your SharePoint site (e.g. &lt;A href="http://fabweb-local/" mce_href="http://fabweb-local"&gt;http://fabweb-local&lt;/A&gt;).&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;
&lt;LI&gt;Close the project settings window.&lt;/LI&gt;
&lt;LI&gt;In the &lt;STRONG&gt;Solution Explorer &lt;/STRONG&gt;window, right-click the project, and then click &lt;STRONG&gt;Set as StartUp Project&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/OL&gt;
&lt;BLOCKQUOTE class=note&gt;
&lt;DIV class=noteTitle&gt;&lt;STRONG&gt;Note&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;In addition to seeing the &lt;STRONG&gt;Web &lt;/STRONG&gt;tab in project settings, you will also find that adding items like ASPX pages and ASCX controls is much easier after "Web-enabing" your project.&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;To ensure ASP.NET debugging is enabled on the Web site [note these instructions are for Windows Server 2008]:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Click &lt;STRONG&gt;Start&lt;/STRONG&gt;, click &lt;STRONG&gt;Administrative Tools&lt;/STRONG&gt;, and then click &lt;STRONG&gt;Internet Information Services (IIS) Manager&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;In the &lt;STRONG&gt;Connections &lt;/STRONG&gt;pane, expand the computer name.&lt;/LI&gt;
&lt;LI&gt;Expand &lt;STRONG&gt;Sites&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Select the Web site or application that you want to debug.&lt;/LI&gt;
&lt;LI&gt;Under the &lt;STRONG&gt;ASP.NET &lt;/STRONG&gt;section, double-click &lt;STRONG&gt;.NET Compilation&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Under the &lt;STRONG&gt;Behavior &lt;/STRONG&gt;section, ensure the value of &lt;STRONG&gt;Debug &lt;/STRONG&gt;is set to &lt;STRONG&gt;True&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;If necessary, click &lt;STRONG&gt;Apply &lt;/STRONG&gt;in the &lt;STRONG&gt;Actions &lt;/STRONG&gt;pane.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Assuming you have deployed your solution and activated your features, your can now set a breakpoint and press &lt;KBD&gt;F5&lt;/KBD&gt; to start debugging. Woohoo!&lt;/P&gt;
&lt;P&gt;Now let's suppose that you find a bug in your code and need to make a change -- but only to the code. In other words, you haven't modified any of your files deployed to %ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\12.&lt;/P&gt;
&lt;P&gt;As I mentioned yesterday, all you need to do is press &lt;KBD&gt;CTRL+SHIFT+B&lt;/KBD&gt; to build your solution, GAC your updated assemblies, and recycle the application pool:&lt;/P&gt;
&lt;DIV class=consoleBlock&gt;&lt;PRE&gt;C:\NotBackedUp\Fabrikam\Demo\Main\Source\Publishing\DeploymentFiles\Scripts&amp;gt;"GAC Assemblies.cmd"
Installing assembly: Fabrikam.Demo.CoreServices.dll (Debug)
Assembly successfully added to the cache
Installing assembly: Fabrikam.Demo.Publishing.dll (Debug)
Assembly successfully added to the cache
Done
C:\NotBackedUp\Fabrikam\Demo\Main\Source\Publishing\DeploymentFiles\Scripts&amp;gt;C:\Windows\System32\inetsrv\appcmd.exe recycle apppool "SharePoint - foobar-local80"
"SharePoint - foobar-local80" successfully recycled&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;You can then simply press &lt;KBD&gt;F5&lt;/KBD&gt; to start debugging again. Woohoo, indeed!&lt;/P&gt;
&lt;P&gt;I hope this makes you a happier and more productive SharePoint developer.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9900794" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/My+System/default.aspx">My System</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/MOSS+2007/default.aspx">MOSS 2007</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/WSS+v3/default.aspx">WSS v3</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Debugging/default.aspx">Debugging</category></item><item><title>Debugging Symbols -- They're Not Just for Debug Builds Anymore</title><link>http://blogs.msdn.com/jjameson/archive/2009/09/26/debugging-symbols-they-re-not-just-for-debug-builds-anymore.aspx</link><pubDate>Sat, 26 Sep 2009 16:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9899854</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/9899854.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=9899854</wfw:commentRss><description>&lt;P&gt;I started another new project this week.&lt;/P&gt;
&lt;P&gt;Typically one of the first tasks on any new development project is to create a Development Plan that provides consistent guidelines and processes for the Development team. On this new project, another Microsoft consultant had already created a draft of the Development Plan, but in the process of reviewing it, I added some content from a Development Plan that I had created a few years ago.&lt;/P&gt;
&lt;P&gt;In the process of reviewing my old document, I came across the following:&lt;/P&gt;
&lt;BLOCKQUOTE class=directQuote&gt;
&lt;H5&gt;Installation&lt;/H5&gt;... 
&lt;H6&gt;Debug Symbols&lt;/H6&gt;
&lt;P&gt;All Debug builds should create symbol files for debugging purposes. These symbols are included as part of the setup to facilitate debugging in other environments such as DEV.&lt;/P&gt;
&lt;BLOCKQUOTE class=note&gt;
&lt;DIV class=noteTitle&gt;&lt;STRONG&gt;Important &lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;Do not include Debug symbols in the Release configuration of the setup projects.&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;When I read this, I actually let out an audible laugh (okay, I suppose it was more of a chuckle). It must have been the old C++ developer in me that originally put this in the Development Plan (thinking you should never provide PDB files in your Release builds because it makes it all too easy for an outsider to understand your code).&lt;/P&gt;
&lt;P&gt;Well, any .NET developer who has ever fired up Reflector on somebody else's assembly (which hasn't been obfuscated, obviously) knows very well how easy it is to decompile -- er, I mean &lt;EM&gt;disassemble&lt;/EM&gt; -- source code. In fact, regardless of whether you have the PDB files, you can actually debug .NET code -- including setting breakpoints and examining variables -- using tools like &lt;A href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx" mce_href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx"&gt;WinDbg&lt;/A&gt;. I've had to do a little of this in the past and while it's not exactly easy -- especially for a developer who doesn't use WinDbg frequently -- it does help out in a pinch when troubleshooting some nasty problem in Production.&lt;/P&gt;
&lt;P&gt;However, including debugging symbols (i.e. PDB files) in Release builds certainly makes debugging .NET code easier. This is a key point that John Robbins makes in &lt;A href="http://amzn.com/0735622027" mce_href="http://amzn.com/0735622027"&gt;Debugging Microsoft .NET 2.0 Applications&lt;/A&gt;. In fact, here's a direct quote from page 38:&lt;/P&gt;
&lt;BLOCKQUOTE class=directQuote&gt;
&lt;H5&gt;Build All Builds with Debugging Symbols&lt;/H5&gt;...build all builds, including release builds, with full debugging symbols. [...] &lt;/BLOCKQUOTE&gt;
&lt;P&gt;In other words, the Development Plan should say:&lt;/P&gt;
&lt;BLOCKQUOTE class=note&gt;
&lt;DIV class=noteTitle&gt;&lt;STRONG&gt;Important &lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;Always include Debug symbols in the Release configuration of the setup projects -- or, preferably, make them available from a symbol server.&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Regarding John's book...I strongly recommend this book to anyone who considers himself or herself a "serious developer." It is chock full of great tips and recommendations for developing .NET solutions.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9899854" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/Core+Development/default.aspx">Core Development</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Debugging/default.aspx">Debugging</category></item><item><title>Fiddler + WPAD - VPN = SlowPerformance</title><link>http://blogs.msdn.com/jjameson/archive/2008/06/27/fiddler-wpad-slowperformance.aspx</link><pubDate>Fri, 27 Jun 2008 19:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8662318</guid><dc:creator>Jeremy Jameson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jjameson/comments/8662318.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jjameson/commentrss.aspx?PostID=8662318</wfw:commentRss><description>&lt;P&gt;I needed to look at some low-level HTTP traffic this morning, so I fired up &lt;A class="" href="http://www.fiddlertool.com/" mce_href="http://www.fiddlertool.com"&gt;Fiddler&lt;/A&gt; -- my tool of choice for this kind of thing. Unfortunately, I found that as soon as I enabled Fiddler, my browsing experience slowed to a crawl. Page requests that previously completed in 1-2 seconds were subsequently taking 30-40 seconds. Ugh!&lt;/P&gt;
&lt;P&gt;Since I typically work inside a virtual machine running Windows Server 2003, I thought that maybe I was hitting a problem specific to Fiddler on Vista. I then did a quick Windows Live Search using the terms &lt;STRONG&gt;Fidder Vista slow &lt;/STRONG&gt;and quickly found a couple of people -- apparently including &lt;A class="" href="http://groups.msn.com/HTTPFiddler/bugs.msnw?action=get_message&amp;amp;mview=0&amp;amp;ID_Message=815&amp;amp;LastModified=4675632312984197215" mce_href="http://groups.msn.com/HTTPFiddler/bugs.msnw?action=get_message&amp;amp;mview=0&amp;amp;ID_Message=815&amp;amp;LastModified=4675632312984197215"&gt;Eric Lawrence&lt;/A&gt;, himself -- referring to disabling IPv6 within Fiddler when using Vista. I assumed that this must be the problem that I was encountering, but no matter what I tried (e.g. restarting Fiddler after disabling the option, repeatedly enabling and disabling IPv6, etc.) I couldn't get the performance to improve.&lt;/P&gt;
&lt;P&gt;I then fired up &lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?familyid=18b1d59d-f4d8-4213-8d17-2f6dde7d7aac&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=18b1d59d-f4d8-4213-8d17-2f6dde7d7aac&amp;amp;displaylang=en"&gt;Network Monitor 3.1&lt;/A&gt; and performed a quick trace while I requested the page through Fiddler again. [By the way, I absolutely love the new filtering capabilities in NetMon 3.1 versus the old version. The interface is much more intuitive than the old 2.x version and it couldn't be any easier than right-clicking a frame in the capture and selecting &lt;STRONG&gt;Add Cell to Display Filter&lt;/STRONG&gt;. NetMon Team, you guys rock! I haven't quite got around to downloading the 3.2 beta, but hopefully someday soon.]&lt;/P&gt;
&lt;P&gt;Also note that I had to right-click &lt;STRONG&gt;Microsoft Network Monitor 3.1&lt;/STRONG&gt; and click &lt;STRONG&gt;Run as administrator&lt;/STRONG&gt; in order to avoid the dreaded "Unknown Error" that occurs when no networks are detected to capture.&lt;/P&gt;
&lt;P&gt;So, a couple of minutes later, sure enough, there it was right in my capture:&lt;/P&gt;
&lt;BLOCKQUOTE class=directQuote&gt;DNS: QueryId = 0x18FC, QUERY (Standard query), Query&amp;nbsp; for&amp;nbsp; wpad.northamerica.corp.microsoft.com of type Host Addr on class Internet&lt;/BLOCKQUOTE&gt;
&lt;P&gt;As soon as I saw the old "Web Proxy Auto Detect" I immediately became suspicious that this was the culprit. I then closed Fiddler and modified my Internet Explorer options to clear the &lt;STRONG&gt;Automatically detect settings &lt;/STRONG&gt;checkbox.&lt;/P&gt;
&lt;P&gt;Shazam! Problem solved.&lt;/P&gt;
&lt;P&gt;Of course, had I actually been connected to CorpNet (which would have enabled DNS requests for "wpad.northamerica.corp.microsoft.com" to resolve), I suppose I wouldn't have encountered the problem in the first place.&lt;/P&gt;
&lt;P&gt;Perhaps it is the fact that I am frequently connecting to different networks (e.g. wireless, VPN, etc.) -- whereas many others don't -- but I'd really like to think most people don't encounter little gotchas like this. The mere thought of having to guide my mother through capturing a NetMon trace is, quite frankly, horrifying ;-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8662318" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jjameson/archive/tags/Windows+Vista/default.aspx">Windows Vista</category><category domain="http://blogs.msdn.com/jjameson/archive/tags/Debugging/default.aspx">Debugging</category></item></channel></rss>