<?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>!dumpheap –stat explained… (debugging .net leaks)</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx</link><description>The most powerful command when debugging a managed memory leak is by far !dumpheap. It will show you all the objects on the managed heaps and using the different switches of !dumpheap you can display the output in virtually any way you want. !dumpheap</description><dc:language>sv-SE</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: !dumpheap –stat explained… (debugging .net leaks)</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#519395</link><pubDate>Mon, 30 Jan 2006 19:44:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:519395</guid><dc:creator>Leonardo Machado</dc:creator><description>Cool !! &lt;br&gt;&lt;br&gt;I can now understand how the things goes inside my programs with this tips ! I don't like GC &amp;quot;programming way&amp;quot; but if I need to use now this type of kind, at least I can understand it now !&lt;br&gt;&lt;br&gt;Thanks !!!&lt;br&gt;&lt;/br&gt;&lt;/br&gt;&lt;/br&gt;&lt;/br&gt;&lt;/br&gt;</description></item><item><title>re: !dumpheap –stat explained… (debugging .net leaks)</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#525215</link><pubDate>Sun, 05 Feb 2006 21:32:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:525215</guid><dc:creator>Chakravarthy</dc:creator><description>This must be a naive question - how and where does one run GC.Collect (as mentioned in the article) ? In the code ? Then how do i run sos after running GC.collect ?</description></item><item><title>re: !dumpheap –stat explained… (debugging .net leaks)</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#525297</link><pubDate>Mon, 06 Feb 2006 01:31:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:525297</guid><dc:creator>Tess</dc:creator><description>Hi Charkravarthy,&lt;br /&gt;&lt;br /&gt;If it is an asp.net application you can have a dummy page that just calls GC.Collect, if it's a winforms app, perhaps a button or similar. &amp;nbsp;Then break in with windbg and load sos.dll in there. &amp;nbsp;</description></item><item><title>.NET Memory Leak Case Study: The Event Handlers That Made The Memory Baloon</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#526413</link><pubDate>Tue, 07 Feb 2006 11:22:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:526413</guid><dc:creator>If broken it is, fix it you should</dc:creator><description>&lt;br&gt;It always feels like issues come in clusters. One week we get tones of cache related cases, next week...</description></item><item><title>re: !dumpheap –stat explained… (debugging .net leaks)</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#528654</link><pubDate>Thu, 09 Feb 2006 19:10:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:528654</guid><dc:creator>Howard</dc:creator><description>This is all good stuff, thanks, but....&lt;br /&gt;&lt;br /&gt;is it even possible to get the values of the items in collection? Take below as an example;&lt;br /&gt;&lt;br /&gt;0:024&amp;gt; !do 0x06358508&lt;br /&gt;Name: System.Collections.ArrayList&lt;br /&gt;MethodTable 0x79ba2ee4&lt;br /&gt;EEClass 0x79ba3020&lt;br /&gt;Size 24(0x18) bytes&lt;br /&gt;GC Generation: 1&lt;br /&gt;mdToken: 0x02000100 &amp;nbsp;(c:\windows\microsoft.net\framework\v1.1.4322\mscorlib.dll)&lt;br /&gt;FieldDesc*: 0x79ba3084&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MT &amp;nbsp; &amp;nbsp; &amp;nbsp;Field &amp;nbsp; &amp;nbsp; Offset &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Type &amp;nbsp; &amp;nbsp; &amp;nbsp; Attr &amp;nbsp; &amp;nbsp; &amp;nbsp;Value Name&lt;br /&gt;0x79ba2ee4 0x4000362 &amp;nbsp; &amp;nbsp; &amp;nbsp;0x4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CLASS &amp;nbsp; instance 0x06358520 _items&lt;br /&gt;0x79ba2ee4 0x4000363 &amp;nbsp; &amp;nbsp; &amp;nbsp;0xc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Int32 &amp;nbsp; instance 7 _size&lt;br /&gt;0x79ba2ee4 0x4000364 &amp;nbsp; &amp;nbsp; 0x10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Int32 &amp;nbsp; instance 8 _version&lt;br /&gt;0x79ba2ee4 0x4000365 &amp;nbsp; &amp;nbsp; &amp;nbsp;0x8 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CLASS &amp;nbsp; instance 0x00000000 _syncRoot&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now try and dump the items..&lt;br /&gt;&lt;br /&gt;0:024&amp;gt; !do 0x06358520&lt;br /&gt;Name: System.Object[]&lt;br /&gt;MethodTable 0x01b4209c&lt;br /&gt;EEClass 0x01b42018&lt;br /&gt;Size 80(0x50) bytes&lt;br /&gt;GC Generation: 1&lt;br /&gt;Array: Rank 1, Type CLASS&lt;br /&gt;Element Type: System.Object&lt;br /&gt;Content: 16 items&lt;br /&gt;&lt;br /&gt;ok 16 items, but how can you get their values?</description></item><item><title>re: !dumpheap –stat explained… (debugging .net leaks)</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#528797</link><pubDate>Thu, 09 Feb 2006 21:56:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:528797</guid><dc:creator>Tess</dc:creator><description>Hi Howard, &lt;br /&gt;&lt;br /&gt;you get them with !do -v, or by running dd (dump dword) on the address of the object array and then !do on the individual dwords... &amp;nbsp;</description></item><item><title>re: !dumpheap –stat explained… (debugging .net leaks)</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#562869</link><pubDate>Tue, 28 Mar 2006 13:08:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:562869</guid><dc:creator>Stuart McConnell</dc:creator><description>Off topic ;-), how do you get windbg to format decimals with ',' &lt;br&gt;&lt;br&gt;Thanks...</description></item><item><title>re: !dumpheap –stat explained… (debugging .net leaks)</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#564586</link><pubDate>Thu, 30 Mar 2006 08:58:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:564586</guid><dc:creator>Tess</dc:creator><description>ahhh, by having regional settings for numbers set to Swedish:) &amp;nbsp; &amp;nbsp;We use ,'s instead of .'s here by the north pole:) &amp;nbsp;You'll probably see .'s instead... </description></item><item><title>.NET Memory Leak Case Study: The Event Handlers That Made The Memory Baloon</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#3074981</link><pubDate>Mon, 04 Jun 2007 10:44:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3074981</guid><dc:creator>If broken it is, fix it you should</dc:creator><description>&lt;p&gt;It always feels like issues come in clusters. One week we get tones of cache related cases, next week&lt;/p&gt;
</description></item><item><title>If broken it is, fix it you should : Blog Post Index</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#3226218</link><pubDate>Mon, 11 Jun 2007 13:12:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3226218</guid><dc:creator>If broken it is, fix it you should : Blog Post Index</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/tess/pages/blog-post-index.aspx"&gt;http://blogs.msdn.com/tess/pages/blog-post-index.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Diagnostyka wycieków pamięci</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#8964026</link><pubDate>Wed, 24 Sep 2008 22:56:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8964026</guid><dc:creator>No comments...</dc:creator><description>&lt;p&gt;W poniższym artykule wykorzystano materiały znajdujące się w następujących artykułach Tess: &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/tess/archive/2005/11/25/i-have-a-memory-leak-what-do-i-do-defining-the-where.aspx"&gt;http://blogs.msdn.com/tess/archive/2005/11/25/i-have-a-memory-leak-what-do-i-do-defining-the-where.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: !dumpheap –stat explained… (debugging .net leaks)</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#9179986</link><pubDate>Fri, 05 Dec 2008 15:24:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9179986</guid><dc:creator>Ben</dc:creator><description>&lt;p&gt;Does windbg cache the results of !dumpheap?&lt;/p&gt;
&lt;p&gt;I ran it 3 times and got the same results which is definately wrong because when i detached and re attached the debugger the results were massively different.&lt;/p&gt;
</description></item><item><title>re: !dumpheap –stat explained… (debugging .net leaks)</title><link>http://blogs.msdn.com/tess/archive/2005/11/25/dumpheap-stat-explained-debugging-net-leaks.aspx#9180062</link><pubDate>Fri, 05 Dec 2008 15:49:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9180062</guid><dc:creator>Tess</dc:creator><description>&lt;p&gt;windbg doesnt cache the results but sos does. &amp;nbsp;however if you are live attaching and hit go in between and then run !dumpheap -stat again you should get new results.&lt;/p&gt;
</description></item></channel></rss>