<?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>Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx</link><description>Okay, I've previously written some random posts about how to set up windbg and how to troubleshoot OutOfMemoryExceptions . I thought I'd take a few steps back and review some of the basics in order to help you get started on using this fantastic tool.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>  Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6239468</link><pubDate>Thu, 15 Nov 2007 06:24:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6239468</guid><dc:creator>  Getting started with windbg - part I</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://54.musicnewsandviews.info/2007/11/13/getting-started-with-windbg-part-i/"&gt;http://54.musicnewsandviews.info/2007/11/13/getting-started-with-windbg-part-i/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Getting Started with Windbg</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6393564</link><pubDate>Mon, 19 Nov 2007 11:27:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6393564</guid><dc:creator>If broken it is, fix it you should</dc:creator><description>&lt;p&gt;I'm back from Oredev which turned out to be a really cool conference. Meanwhile my colleague Johan wrote&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6399633</link><pubDate>Mon, 19 Nov 2007 16:00:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6399633</guid><dc:creator>Kent Boogaart</dc:creator><description>&lt;p&gt;FYI, I have posted a windbg/sos cheat sheet here: &lt;a rel="nofollow" target="_new" href="http://kentb.blogspot.com/2007/11/windbg-sos-cheat-sheet.html"&gt;http://kentb.blogspot.com/2007/11/windbg-sos-cheat-sheet.html&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6401239</link><pubDate>Mon, 19 Nov 2007 17:18:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6401239</guid><dc:creator>Aaron Lerch</dc:creator><description>&lt;p&gt;Instead of copying SOS.dll and doing a &amp;quot;.load sos&amp;quot;, you can just do &amp;quot;.loadby sos mscorwks&amp;quot; to load SOS from the relevant framework install location.&lt;/p&gt;
&lt;p&gt;Thanks for the good intro!&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6456200</link><pubDate>Wed, 21 Nov 2007 17:37:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6456200</guid><dc:creator>Brian</dc:creator><description>&lt;p&gt;Great article. I'm just getting into debugging for the first time and finding it quite frustrating :) I suppose that comes with the territory. &lt;/p&gt;
&lt;p&gt;Perhaps someone can explain the confusion i'm having over something. I'm troubleshooting a problem with a .net app that will grow very large in mem usage and eat up high cpu until it eventually becomes unresponsive. This happens randomly after the app will be up and working fine for hours. &amp;nbsp;I suspect that garbage collection might be an issue (would GC really be suspect of the hang if the problem was that it grew too large and then started too much GC? I think I'm barking up the wrong tree and should be looking for a mem leak) &lt;/p&gt;
&lt;p&gt;Never the less, based on the output I get from doing a !threads, I want to take a look at thread 25, which appears like this:&lt;/p&gt;
&lt;p&gt;25 &amp;nbsp; 2d0 164a2dc0 &amp;nbsp; 1800220 Enabled &amp;nbsp;00000000:00000000 000f13e0 &amp;nbsp; &amp;nbsp; 2 MTA (GC) (Threadpool Worker)&lt;/p&gt;
&lt;p&gt;so I do ~25s and then pull a !clrstack. Some data comes back with these being on top of the stack:&lt;/p&gt;
&lt;p&gt;17d9ea04 &amp;nbsp;7c8285ec [FRAME: ECallMethodFrame] [DEFAULT] Void System.GC.nativeCollectGeneration(I4)&lt;/p&gt;
&lt;p&gt;17d9ea14 &amp;nbsp;799dbec3 [DEFAULT] I8 System.GC.GetTotalMemory(Boolean)&lt;/p&gt;
&lt;p&gt;After all this rambling, one of my main questions is this - when I do a !clrstack -p on this same thread, I get output identical as doing it without the -p option. What would the reason for this be? I want to delv into this thread further by using the !do but I cannot. &lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6456466</link><pubDate>Wed, 21 Nov 2007 18:00:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6456466</guid><dc:creator>JohanS</dc:creator><description>&lt;p&gt;Hi Brian,&lt;/p&gt;
&lt;p&gt;It sounds like you're performing a lot of generation 2 garbage collections. This is not the GC's fault as such. I'd take a long, good look at your memory usage to see what can be minimized.&lt;/p&gt;
&lt;p&gt;Here's what I'd do:&lt;/p&gt;
&lt;p&gt;1. Remove ALL calls to GC.Collect() if any. They will mess up the &amp;quot;ecosystem&amp;quot; for the GC and should only be used for testing purposes.&lt;/p&gt;
&lt;p&gt;2. Take a look at my previous post &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/johan/archive/2007/01/11/i-am-getting-outofmemoryexceptions-how-can-i-troubleshoot-this.aspx"&gt;http://blogs.msdn.com/johan/archive/2007/01/11/i-am-getting-outofmemoryexceptions-how-can-i-troubleshoot-this.aspx&lt;/a&gt; The title mentions out of memory exceptions, but it will show you how to look at general memory usage for your application and hopefully pinpoint the culprit.&lt;/p&gt;
&lt;p&gt;Regards / Johan&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6503848</link><pubDate>Sat, 24 Nov 2007 21:15:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6503848</guid><dc:creator>Cory Foy</dc:creator><description>&lt;p&gt;@Aaron - Just to add - you can only do that if the framework has already been loaded. For example, you can't do that at the beginning of a process because mscorwks hasn't been loaded yet.&lt;/p&gt;
&lt;p&gt;If you need to get SOS loaded as soon as mscorwks is loaded, you can do:&lt;/p&gt;
&lt;p&gt;sxe ld mscorwks&lt;/p&gt;
&lt;p&gt;g&lt;/p&gt;
&lt;p&gt;.loadby sos mscorwks&lt;/p&gt;
&lt;p&gt;Generally most of us do .loadby sos mscorwks, but there are circumstances where that won't work.&lt;/p&gt;
&lt;p&gt;Cory&lt;/p&gt;
</description></item><item><title>Debug Diagnostic Tool 1.1</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6615936</link><pubDate>Fri, 30 Nov 2007 16:41:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6615936</guid><dc:creator>IIS ve ASP.NET Notları</dc:creator><description>&lt;p&gt;IIS &amp;#252;zerinde &amp;#231;alışan uygulamalarda yaşadığımız sorunları birka&amp;#231; kategoride toplayabiliriz: &amp;quot;Crash&amp;quot; sorunları&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6665680</link><pubDate>Wed, 05 Dec 2007 15:00:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6665680</guid><dc:creator>Tess</dc:creator><description>&lt;p&gt;A note for Brian here. &amp;nbsp;GC.GetTotalMemory() will call GC.Collect if you pass it true. &amp;nbsp;To get rid of that behaviour you should pass in false instead.&lt;/p&gt;
&lt;p&gt;The reason you dont get any more data if you run !clrstack -p is probably because you are not building your dlls in debug mode (which btw is a very good practice in production). &amp;nbsp;&lt;/p&gt;
&lt;p&gt;With retail builds you may still get some more info if you run !clrstack -a &lt;/p&gt;
&lt;p&gt;/Tess&lt;/p&gt;
</description></item><item><title>Avoid Manipulating Passwords In Memory - It Is Easy To Reveal</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6701520</link><pubDate>Sat, 08 Dec 2007 09:45:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6701520</guid><dc:creator>Noticias externas</dc:creator><description>&lt;p&gt;Revealing clear text passwords in memory seems to be a trivial task. This post describes how to reveal&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6708739</link><pubDate>Sun, 09 Dec 2007 03:10:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6708739</guid><dc:creator>MItch Wheat</dc:creator><description>&lt;p&gt;Excellent introduction to Windbg. Nice one , Johan!&lt;/p&gt;
</description></item><item><title>December 16th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, VS, .NET, IIS7, WPF</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6786934</link><pubDate>Mon, 17 Dec 2007 10:29:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6786934</guid><dc:creator>ScottGu's Blog</dc:creator><description>&lt;p&gt;Here is the latest in my link-listing series .&amp;amp;#160; Also check out my ASP.NET Tips, Tricks and Tutorials&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6818060</link><pubDate>Thu, 20 Dec 2007 18:16:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6818060</guid><dc:creator>Paul</dc:creator><description>&lt;p&gt;Johan, great stuff there, bookmarked for reference! ;o)&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6888248</link><pubDate>Fri, 28 Dec 2007 23:13:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6888248</guid><dc:creator>HS</dc:creator><description>&lt;p&gt;Great article! &lt;/p&gt;
&lt;p&gt;In your article you said &amp;quot;The threads with an ID of XXXX have ended and are waiting to be recycled.&amp;quot;, but you didn't say what is considered &amp;quot;ended&amp;quot;. I thought that IIS will continue using the same threads over &amp;amp; over again from its thread pool and thus would not end any threads in the threadpool. Is having &amp;quot;DeadThreads&amp;quot; normal or does it require some investigation? Thanks.&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6951347</link><pubDate>Wed, 02 Jan 2008 12:36:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6951347</guid><dc:creator>JohanS</dc:creator><description>&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;The !threads-command only lists the managed threads. If you want the native threads you should use ~ instead.&lt;/p&gt;
&lt;p&gt;Managed threads are occasionally ended when there's nothing left to do. One thread may handle a couple of requests and then end. Having ended threads on the heap, like in the sample above, is completely normal.&lt;/p&gt;
&lt;p&gt;/ Johan&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6965936</link><pubDate>Thu, 03 Jan 2008 13:02:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6965936</guid><dc:creator>dannyR</dc:creator><description>&lt;p&gt;where is the sos.dll for .NET 3.5? I can't find it anywhere.&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#6977603</link><pubDate>Fri, 04 Jan 2008 12:53:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6977603</guid><dc:creator>JohanS</dc:creator><description>&lt;p&gt;Hi Danny,&lt;/p&gt;
&lt;p&gt;No problem. Use the 2.0 version.&lt;/p&gt;
&lt;p&gt;/ Johan&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#7044345</link><pubDate>Wed, 09 Jan 2008 22:03:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7044345</guid><dc:creator>Peter</dc:creator><description>&lt;p&gt;Hi Johan, &lt;/p&gt;
&lt;p&gt;Gr8 article. I came looking for help on debugging memory fragmentation for unmanaged applications. I have a simple C\C++ application running on WS2K3 SP1. I'm not sure, loading SOS in my WinDbg will do me much good. Could you give me some information on WinDbg commands for unmanaged applications. &lt;/p&gt;
&lt;p&gt;Also, I've been using !heap -l to find out leaked heaps, but can I be really sure all the heaps displayed are really leaking memory.&lt;/p&gt;
&lt;p&gt;Thanks !&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#7073708</link><pubDate>Fri, 11 Jan 2008 16:36:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7073708</guid><dc:creator>Rene Pally</dc:creator><description>&lt;p&gt;Nice Article,&lt;/p&gt;
&lt;p&gt;Can you tell me please what it means? :&lt;/p&gt;
&lt;p&gt;(a60.b5c): CLR exception - code e0434f4d (first chance)&lt;/p&gt;
&lt;p&gt;Thank you very much&lt;/p&gt;
</description></item><item><title>12月16日链接篇： ASP.NET, ASP.NET AJAX, ASP.NET MVC, VS, .NET, IIS7, WPF</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#7151558</link><pubDate>Fri, 18 Jan 2008 21:15:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7151558</guid><dc:creator>ASP.NET Chinese Blogs</dc:creator><description>&lt;p&gt;【原文地址】 December 16th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, VS, .NET, IIS7, WPF 【原文发表日期】Sunday, December&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#7191094</link><pubDate>Tue, 22 Jan 2008 04:10:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7191094</guid><dc:creator>lbq1221119@cnblogs</dc:creator><description>&lt;p&gt;nice&lt;/p&gt;
&lt;p&gt;i would like to know the detail of the listed results of the SOS extern Commands..&lt;/p&gt;
&lt;p&gt;how and where can i find the detail documents??&lt;/p&gt;
&lt;p&gt;3ks so much&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#7196366</link><pubDate>Tue, 22 Jan 2008 12:54:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7196366</guid><dc:creator>JohanS</dc:creator><description>&lt;p&gt;I'm not sure I follow. Could you please elaborate a little?&lt;/p&gt;
</description></item><item><title>.NET Debugging Demos - Information and setup instructions</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#7431459</link><pubDate>Mon, 04 Feb 2008 12:14:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7431459</guid><dc:creator>If broken it is, fix it you should</dc:creator><description>&lt;p&gt;.NET Debugging Demos This is a series of debugging demos aimed to help you get some hands on experience&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#8053121</link><pubDate>Wed, 05 Mar 2008 19:52:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8053121</guid><dc:creator>Matt G</dc:creator><description>&lt;p&gt;What can be done to investigate threads that have ended and are waiting to be recycled?&lt;/p&gt;
&lt;p&gt;I've got an intermittent ASP.NET worker process crash. &amp;nbsp;Running the !threads command on the dump shows a managed thread with a StackOverflowException. &amp;nbsp;Is there any way to get the stack trace on that thread?&lt;/p&gt;
&lt;p&gt;If not, do you have any suggestions for setting up adplus to do a memory dump that does have the stack information?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#8073129</link><pubDate>Thu, 06 Mar 2008 18:43:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8073129</guid><dc:creator>JohanS</dc:creator><description>&lt;p&gt;Hi Matt,&lt;/p&gt;
&lt;p&gt;Are you sure you've really experienced the StackOverflowException?&lt;/p&gt;
&lt;p&gt;There is always a StackOverflowException created by default &amp;quot;just in case&amp;quot;. The reason for this is that when a StackOverflow occurs the framework normally won't be in a state to create an exception, so it has to create it proactively. See my post on exception hunting for further details. &lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/johan/archive/2008/01/31/using-windbg-hunting-exceptions.aspx"&gt;http://blogs.msdn.com/johan/archive/2008/01/31/using-windbg-hunting-exceptions.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;/ Johan&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#8106132</link><pubDate>Sat, 08 Mar 2008 00:04:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8106132</guid><dc:creator>Matt G</dc:creator><description>&lt;p&gt;Based on your other blog post it appears I do not have a StackOverflowException.&lt;/p&gt;
&lt;p&gt;I'm not sure where to go from here. &amp;nbsp;I can get the exceptions from the heap per your post, but I don't know how to use that information to determine what killed w3wp.exe.&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#8129127</link><pubDate>Mon, 10 Mar 2008 12:26:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8129127</guid><dc:creator>JohanS</dc:creator><description>&lt;p&gt;Hi Matt,&lt;/p&gt;
&lt;p&gt;Run ~*kb (this will show you the native stack for all threads) and look for kernel32!ExitProcess. This way you'll find the thread that ended the process.&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#8496609</link><pubDate>Mon, 12 May 2008 23:24:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8496609</guid><dc:creator>Jun</dc:creator><description>&lt;p&gt;Hi Johan,&lt;/p&gt;
&lt;p&gt;about those threads with an ID of XXXX, should they go away after certain amount of idle time like 2 minutes? I am trouble shooting an application while the application should sit idle (because of no stimulation), however it is still using quite some CPU time and and threadpool threads, where it should not. So I created an adplus dump when it is sitting idle, and I found that there are many threads with ID XXXX, and I created a dump file again after 15 minutes, again, it still have the exact same XXXX threads. All those threads are completion port threads, and I wonder why they did not get recycled?&lt;/p&gt;
&lt;p&gt;Also, when doing a '~*e !clrstack', most of the worker threads and completion port threads are showing &amp;quot;Failed to start stack walk: 80004005&amp;quot;. Is there a way to show the stack for those threads, because those are the threads I am intereted in.&lt;/p&gt;
&lt;p&gt;Thank you!&lt;/p&gt;</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#8500275</link><pubDate>Tue, 13 May 2008 16:40:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8500275</guid><dc:creator>JohanS</dc:creator><description>&lt;p&gt;The GC will be triggered when you’re allocating memory. If your application is inactive, then so is the Garbage Collector. Even if you’re making a few, random allocations they still may not be enough to trigger a GC, so this is not at all unexpected.&lt;/p&gt;
&lt;p&gt;The “Failed to start stack walk: 80004005”-error is displayed when the thread did contain a managed stack, but no longer does.&lt;/p&gt;
</description></item><item><title>.NET 调试实例 - 信息和安装说明 (原创翻译)</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#8703084</link><pubDate>Mon, 07 Jul 2008 20:41:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8703084</guid><dc:creator>Justin</dc:creator><description>&lt;p&gt;.NET调试实例&lt;/p&gt;
&lt;p&gt;这是一个系列的调式实例，目的是为了帮助你在调式.NET应用程序中最常见的挂起(Hang)、性能(performance)、内存(memory)和系统崩溃(crash)方面获得一些...&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#8721062</link><pubDate>Fri, 11 Jul 2008 15:04:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8721062</guid><dc:creator>Anish</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Great content.&lt;/p&gt;
&lt;p&gt;I am new to debugging .net programs using windebug.&lt;/p&gt;
&lt;p&gt;How can I set break point on Main method of a console application.&lt;/p&gt;
&lt;p&gt;Following are the steps i have done&lt;/p&gt;
&lt;p&gt;1.Open the executable in windbg.exe&lt;/p&gt;
&lt;p&gt;2.Set a break poin in mscorwks using following command&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;bp mscorwks!EEStartup &amp;quot;g @$ra&amp;quot;&lt;/p&gt;
&lt;p&gt;3. From here onwards i am able to use sos commands. &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; I wanted to set breakpoint in Main method of&lt;/p&gt;
&lt;p&gt;ConsoleApplication1.Program.Main.&lt;/p&gt;
&lt;p&gt;I have tried using !bpmd command as mentioned int eh sos help.&lt;/p&gt;
&lt;p&gt;&amp;quot;bl&amp;quot; command lists the breakpoint also. But program is not breaking at the Main&lt;/p&gt;
&lt;p&gt;what could be the reason&lt;/p&gt;
&lt;p&gt;Thank You,&lt;/p&gt;
&lt;p&gt;Anish&lt;/p&gt;
</description></item><item><title>New to Debugging?</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#8766563</link><pubDate>Wed, 23 Jul 2008 13:34:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8766563</guid><dc:creator>Adventures in IIS, Commerce and whatever else comes into my head.</dc:creator><description>&lt;p&gt;I've just finished writing up an e-mail for some new people in my team about starting Debugging and the&lt;/p&gt;
</description></item><item><title>Day of .Net Presentation Resources</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#9009312</link><pubDate>Tue, 21 Oct 2008 15:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9009312</guid><dc:creator>David Truxall</dc:creator><description>&lt;p&gt;Thanks to everyone who attended my talk! Here's some links related to the talk: My PowerPoint Presentation...&lt;/p&gt;
</description></item><item><title>Debugging OutOfMemoryExceptions in managed code using Windbg</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#9226912</link><pubDate>Tue, 16 Dec 2008 20:40:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9226912</guid><dc:creator>Amol Ravande's Performance blog</dc:creator><description>&lt;p&gt;Before you start debugging make sure you have the symbols path set appropriately. Below link shows you&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#9518706</link><pubDate>Mon, 30 Mar 2009 15:19:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9518706</guid><dc:creator>Kams</dc:creator><description>&lt;p&gt;I have been using !clrstack to display stack trace, but what I don't see method names. In my case i get &lt;/p&gt;
&lt;p&gt;0:028&amp;gt; !clrstack&lt;/p&gt;
&lt;p&gt;OS Thread Id: 0xffc (28)&lt;/p&gt;
&lt;p&gt;ESP &amp;nbsp; &amp;nbsp; &amp;nbsp; EIP &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;p&gt;04e9e1f4 7c90e4f4 [GCFrame: 04e9e1f4] &lt;/p&gt;
&lt;p&gt;04e9e210 7c90e4f4 [GCFrame: 04e9e210] &lt;/p&gt;
&lt;p&gt;04e9e3f4 7c90e4f4 [HelperMethodFrame_1OBJ: 04e9e3f4] &lt;/p&gt;
&lt;p&gt;04e9e464 792d5348 &lt;/p&gt;
&lt;p&gt;04e9e4b4 792d514f &lt;/p&gt;
&lt;p&gt;04e9e4f0 792d4fde &lt;/p&gt;
&lt;p&gt;04e9e510 6384da66 &lt;/p&gt;
&lt;p&gt;04e9e560 6384d666 &lt;/p&gt;
&lt;p&gt;04e9e5bc 63a95573 &lt;/p&gt;
&lt;p&gt;04e9e5d0 07df1c91 &lt;/p&gt;
&lt;p&gt;04e9e600 064b6935 &lt;/p&gt;
&lt;p&gt;04e9e644 07df1b7c &lt;/p&gt;
&lt;p&gt;04e9e684 07df15f1 &lt;/p&gt;
&lt;p&gt;04e9e6d8 0623e9c7 &lt;/p&gt;
&lt;p&gt;04e9e79c 056baf8c &lt;/p&gt;
&lt;p&gt;04e9e7e4 056b89cf &lt;/p&gt;
&lt;p&gt;04e9e864 056b7a1c &lt;/p&gt;
&lt;p&gt;04e9e948 056b6b51 &lt;/p&gt;
&lt;p&gt;04e9ea94 056b5d0e &lt;/p&gt;
&lt;p&gt;04e9ead4 056b5bd0 &lt;/p&gt;
&lt;p&gt;04e9ead8 056b123e &lt;/p&gt;
&lt;p&gt;04e9eba0 05e9b38c &lt;/p&gt;
&lt;p&gt;04e9ec10 062347a1 &lt;/p&gt;
&lt;p&gt;04e9ec90 062344b9 &lt;/p&gt;
&lt;p&gt;04e9f0c8 79e71b4c [HelperMethodFrame_PROTECTOBJ: 04e9f0c8] &lt;/p&gt;
&lt;p&gt;04e9f20c 792795b3 &lt;/p&gt;
&lt;p&gt;04e9f230 7927038b &lt;/p&gt;
&lt;p&gt;04e9f28c 7927023c &lt;/p&gt;
&lt;p&gt;04e9f294 792701f5 &lt;/p&gt;
&lt;p&gt;04e9f2a8 792700e1 &lt;/p&gt;
&lt;p&gt;04e9f2dc 7926fe5f &lt;/p&gt;
&lt;p&gt;04e9f318 7985f9ba &lt;/p&gt;
&lt;p&gt;04e9f360 79864e7a &lt;/p&gt;
&lt;p&gt;04e9f390 066d8553 &lt;/p&gt;
&lt;p&gt;04e9f484 066d7049 &lt;/p&gt;
&lt;p&gt;04e9f4f4 066d5ccf &lt;/p&gt;
&lt;p&gt;04e9f550 066d5afc &lt;/p&gt;
&lt;p&gt;04e9f580 066d59d1 &lt;/p&gt;
&lt;p&gt;04e9f588 066d58b7 &lt;/p&gt;
&lt;p&gt;04e9f5b8 066d57e8 &lt;/p&gt;
&lt;p&gt;04e9f5d0 7928cdc4 &lt;/p&gt;
&lt;p&gt;04e9f770 79e71b4c [GCFrame: 04e9f770] &lt;/p&gt;
&lt;p&gt;Any clues on how I can get this right. I have set the symbol file path to the microsoft server as suggested above. &lt;/p&gt;
&lt;p&gt;when I do a !dso, I can see objects on the stack, but If !clrstack would work it would be great!&lt;/p&gt;
&lt;p&gt;Any help on this would be appreciated&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#9518864</link><pubDate>Mon, 30 Mar 2009 16:17:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9518864</guid><dc:creator>JohanS</dc:creator><description>&lt;p&gt;It seems likely that you're loading the wrong version of SOS. Try loading SOS using the following command:&lt;/p&gt;
&lt;p&gt;.loadby sos mscorwks&lt;/p&gt;
&lt;p&gt;/ Johan&lt;/p&gt;
</description></item><item><title>[收藏]Getting started with windbg - part I </title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#9569299</link><pubDate>Sun, 26 Apr 2009 16:54:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9569299</guid><dc:creator>dudu</dc:creator><description>&lt;p&gt;最近在看相关内容，作者写的相当不错，自己随手学习了一下，非常棒，顺便也锻炼一下自己的翻译能力（好久没有处理相关内容了，能力直线下降啊） 原文地址：&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/jo"&gt;http://blogs.msdn.com/jo&lt;/a&gt;...&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#9682174</link><pubDate>Mon, 01 Jun 2009 23:52:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9682174</guid><dc:creator>Dominic Zukiewicz</dc:creator><description>&lt;p&gt;Thank you so much for an thorough introduction to WinDBG. It is something I have been looking for for months.&lt;/p&gt;
&lt;p&gt;I am having some real trouble with the introduction. Funnily, I have been able to do the later labs (5-7), but came back to the beginning to check I hadn't missed anything.&lt;/p&gt;
&lt;p&gt;I followed your above instructions with the &amp;quot;Crash&amp;quot; lab, to see the instructions generated, but I am finding that a lot of the commands are not yielding any good results.&lt;/p&gt;
&lt;p&gt;For example&lt;/p&gt;
&lt;p&gt;!threads&lt;/p&gt;
&lt;p&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; PreEmptive &amp;nbsp; GC Alloc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Lock&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; ID OSID ThreadOBJ &amp;nbsp; &amp;nbsp;State &amp;nbsp; &amp;nbsp; GC &amp;nbsp; &amp;nbsp; &amp;nbsp; Context &amp;nbsp; &amp;nbsp; &amp;nbsp; Domain &amp;nbsp; Count APT Exception&lt;/p&gt;
&lt;p&gt; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp;1 &amp;nbsp;c10 001a0a28 &amp;nbsp; a808220 Enabled &amp;nbsp;00000000:00000000 001d04a8 &amp;nbsp; &amp;nbsp; 1 MTA (Threadpool Completion Port)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; 7 &amp;nbsp; &amp;nbsp;2 &amp;nbsp;664 001a4190 &amp;nbsp; &amp;nbsp; &amp;nbsp;b220 Enabled &amp;nbsp;01056390:0105652c 0016e3a8 &amp;nbsp; &amp;nbsp; 0 MTA (Finalizer) System.NullReferenceException (01055ad0)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; 8 &amp;nbsp; &amp;nbsp;3 12cc 001bd228 &amp;nbsp; &amp;nbsp;80a220 Enabled &amp;nbsp;00000000:00000000 0016e3a8 &amp;nbsp; &amp;nbsp; 0 MTA (Threadpool Completion Port)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;11 &amp;nbsp; &amp;nbsp;4 &amp;nbsp;9a4 001cff88 &amp;nbsp; &amp;nbsp; &amp;nbsp;1220 Enabled &amp;nbsp;00000000:00000000 0016e3a8 &amp;nbsp; &amp;nbsp; 0 Ukn&lt;/p&gt;
&lt;p&gt;Switch to Thread 2&lt;/p&gt;
&lt;p&gt;0:011&amp;gt; ~2&lt;/p&gt;
&lt;p&gt; &amp;nbsp; 2 &amp;nbsp;Id: 158c.288 Suspend: 1 Teb: 7ffd9000 Unfrozen&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Start: msvcr80!_endthread+0x71 (7813286e) &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;Priority: 0 &amp;nbsp;Priority class: 32 &amp;nbsp;Affinity: 3&lt;/p&gt;
&lt;p&gt;!clrstack it&lt;/p&gt;
&lt;p&gt;0:011&amp;gt; !clrstack&lt;/p&gt;
&lt;p&gt;OS Thread Id: 0x9a4 (11)&lt;/p&gt;
&lt;p&gt;Failed to start stack walk: 80004005&lt;/p&gt;
&lt;p&gt;Nothing? I also tried !pe to get:&lt;/p&gt;
&lt;p&gt;0:011&amp;gt; !pe&lt;/p&gt;
&lt;p&gt;There is no current managed exception on this thread&lt;/p&gt;
&lt;p&gt;But there must be? As it says on the !threads!&lt;/p&gt;
&lt;p&gt;I'm not sure what I've been doing wrong. Can you give me guidance please?&lt;/p&gt;
&lt;p&gt;Thanks again&lt;/p&gt;
&lt;p&gt;Dominic&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#9690976</link><pubDate>Wed, 03 Jun 2009 15:03:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9690976</guid><dc:creator>JohanS</dc:creator><description>&lt;p&gt;Hi Dominic.&lt;/p&gt;
&lt;p&gt;Here's where it went wrong:&lt;/p&gt;
&lt;p&gt;~2 will give you info about the thread.&lt;/p&gt;
&lt;p&gt;~2s will switch to the thread in question. This is the command you wanted.&lt;/p&gt;
&lt;p&gt;As you can see you're still on thread 11:&lt;/p&gt;
&lt;p&gt;0:011&amp;gt; !clrstack&lt;/p&gt;
&lt;p&gt;OS Thread Id: 0x9a4 (11)&lt;/p&gt;
&lt;p&gt;Failed to start stack walk: 80004005&lt;/p&gt;
&lt;p&gt;/ Johan&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#9714471</link><pubDate>Tue, 09 Jun 2009 11:58:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9714471</guid><dc:creator>Dominic Zukiewicz</dc:creator><description>&lt;p&gt;Thanks Johan!&lt;/p&gt;
&lt;p&gt;I always wonder what the different was between those 2 commands.&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#9729193</link><pubDate>Fri, 12 Jun 2009 06:07:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9729193</guid><dc:creator>Caveman</dc:creator><description>&lt;p&gt;Thank you for the cool intro. Johan!&lt;/p&gt;
</description></item><item><title>re: Getting started with windbg - part I</title><link>http://blogs.msdn.com/johan/archive/2007/11/13/getting-started-with-windbg-part-i.aspx#9911315</link><pubDate>Thu, 22 Oct 2009 12:46:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9911315</guid><dc:creator>JohnOpincar</dc:creator><description>&lt;p&gt;Thanks for the great post. &amp;nbsp;It's been invaluable to me as I've researched an IIS deadlock problem.&lt;/p&gt;
</description></item></channel></rss>