Fiddler 2.2.9 includes two new features that allow you to get some more insight into the state of the web debugger. The first allows you to inspect the caches used by Fiddler; simply type about:cache in the QuickExec box and Fiddler will display the current contents of its DNS Resolver cache and ServerPipe Pool on the Log tab.

Fiddler’s DNS Resolver cache stores previously-resolved DNS addresses for faster reuse, while the ServerPipe Pool enables reuse of keep-alive connections to web servers. By default, the DNS Resolver cache keeps entries for 150 seconds (fiddler.network.timeouts.dnscache) while the ServerPipe Pool keeps connections alive for up to 120 seconds (fiddler.network.timeouts.serverpipe.reuse). Both of these defaults can be adjusted using the Preferences System.

A typical response to about:cache looks like this:

ServerPipePool
fiddler.network.timeouts.serverpipe.reuse: 120000ms
Contents
--------
    [1] entries for 'www.bing.com:80'.
        ServerPipe#28[Key: www.bing.com:80; UseCnt: 2 [28,34,]; PlainText; Anonymous (:80 to 198.104.200.81:80 Direct) NoRestrictions]
    [1] entries for 'c.microsoft.com:80'.
        ServerPipe#26[Key: c.microsoft.com:80; UseCnt: 3 [26,27,33,]; PlainText; Anonymous (:80 to 65.55.57.252:80 Direct) NoRestrictions]
    [1] entries for 'm.webtrends.com:80'.
        ServerPipe#24[Key: m.webtrends.com:80; UseCnt: 4 [24,25,30,32,]; PlainText; Anonymous (:80 to 208.92.236.184:80 Direct) NoRestrictions]
    [1] entries for 'microsoftsto.112.2o7.net:80'.
        ServerPipe#23[Key: microsoftsto.112.2o7.net:80; UseCnt: 2 [23,31,]; PlainText; Anonymous (:80 to 66.235.133.1:80 Direct) NoRestrictions]
    [1] entries for 'blogs.msdn.com:80'.
        ServerPipe#22[Key: blogs.msdn.com:80; UseCnt: 2 [22,29,]; PlainText; Anonymous (:80 to 65.55.11.162:80 Direct) NoRestrictions]

--------
20:03:00:8183 DNSResolver Cache
fiddler.network.timeouts.dnscache: 150000ms
Contents
--------
    HostName: www.bing.com, Age: 15772ms, AddressList: [198.104.200.81, 198.104.200.26]
    HostName: c.microsoft.com, Age: 18253ms, AddressList: [65.55.57.252]
    HostName: m.webtrends.com, Age: 20671ms, AddressList: [208.92.236.184]
    HostName: microsoftsto.112.2o7.net, Age: 22995ms, AddressList: [66.235.133.1, 66.235.133.33, 66.235.132.152]
    HostName: blogs.msdn.com, Age: 27675ms, AddressList: [65.55.11.162]
--------

The second feature is called DebugSpew; it is a form of runtime tracing which shows detailed information about Fiddler’s operations. This incurs a significant performance penalty, so this feature is disabled by default. To enable DebugSpew, either set the registry key of the same name, or type !spew in the QuickExec box at runtime. After you do so, Fiddler will emit verbose logging information to the system’s debugging console, which you can view using the SysInternals DebugView tool. This output is primarily useful for finding bugs in Fiddler, but it can be interesting to some folks who want a deeper understanding of how Fiddler works.

That’s all for now,

-Eric