<?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>.NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx</link><description>We're about halfway through with the labs so to change it up a little bit I'm going to give you a debugging challenge. I will post the step-by-step instructions and review in about a week, but for now I will only post a problem description. Your mission,</description><dc:language>sv-SE</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#7935960</link><pubDate>Thu, 28 Feb 2008 18:24:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7935960</guid><dc:creator>Andrew Lomakin</dc:creator><description>&lt;p&gt;XXXX &amp;nbsp; &amp;nbsp;1 1598 001a0ae8 &amp;nbsp; 8808220 Disabled 01c4f004:01c50fe8 001d01e8 &amp;nbsp; &amp;nbsp; 1 Ukn (Threadpool Completion Port) System.StackOverflowException (018700a4) (nested exceptions)&lt;/p&gt;
&lt;p&gt;Looks like exception handler is causing an exception. Sounds oddly familiar to a thing i've seen not-so-long-time ago.&lt;/p&gt;
&lt;p&gt;Digging in deeper.&lt;/p&gt;</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#7936053</link><pubDate>Thu, 28 Feb 2008 18:47:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7936053</guid><dc:creator>Andrew Lomakin</dc:creator><description>&lt;p&gt;going down the line and !DumpHeap -type Exception we have the following stats:&lt;/p&gt;
&lt;p&gt;Statistics:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;MT &amp;nbsp; &amp;nbsp;Count &amp;nbsp; &amp;nbsp;TotalSize Class Name&lt;/p&gt;
&lt;p&gt;79103ca4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 12 System.Text.DecoderExceptionFallback&lt;/p&gt;
&lt;p&gt;79103c58 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 12 System.Text.EncoderExceptionFallback&lt;/p&gt;
&lt;p&gt;79118794 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 64 System.UnhandledExceptionEventHandler&lt;/p&gt;
&lt;p&gt;790fe17c &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 72 System.ExecutionEngineException&lt;/p&gt;
&lt;p&gt;790fe0e0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 72 System.StackOverflowException&lt;/p&gt;
&lt;p&gt;790fe044 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 72 System.OutOfMemoryException&lt;/p&gt;
&lt;p&gt;790fdf04 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 72 System.Exception&lt;/p&gt;
&lt;p&gt;790fe284 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;144 System.Threading.ThreadAbortException&lt;/p&gt;
&lt;p&gt;79123c6c &amp;nbsp; &amp;nbsp; 5307 &amp;nbsp; &amp;nbsp; &amp;nbsp; 382104 System.UnauthorizedAccessException&lt;/p&gt;
&lt;p&gt;Eventually System.UnauthorizedAccessException is the one that we suspect.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://msdn2.microsoft.com/en-us/library/system.unauthorizedaccessexception.aspx"&gt;http://msdn2.microsoft.com/en-us/library/system.unauthorizedaccessexception.aspx&lt;/a&gt; tells us more about this exception...we learn the exception code, then we launch adplus to capture this exception when it happens...&lt;/p&gt;
&lt;p&gt;adplus -crash -iis -ce 80070005 -FullOnFirst&lt;/p&gt;
&lt;p&gt;digging in deeper atm....&lt;/p&gt;</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#7936082</link><pubDate>Thu, 28 Feb 2008 18:53:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7936082</guid><dc:creator>Andrew Lomakin</dc:creator><description>&lt;p&gt;AKA the culprit&lt;/p&gt;
&lt;p&gt;Guess what happened after last command....cdb started spawning dumpfiles like mad, and filled my hard drive with gigabytes of dumps :)&lt;/p&gt;
&lt;p&gt;Eventually after killing it, and opening a random dumpfile...guess what i see... we're trying to log an exception, apparently opening a file, when we get the exception...&lt;/p&gt;
&lt;p&gt;0:001&amp;gt; !clrstack&lt;/p&gt;
&lt;p&gt;OS Thread Id: 0x9f8 (1)&lt;/p&gt;
&lt;p&gt;ESP &amp;nbsp; &amp;nbsp; &amp;nbsp; EIP &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;p&gt;00aae5b4 7c812aeb [HelperMethodFrame: 00aae5b4] &lt;/p&gt;
&lt;p&gt;00aae658 7948d980 System.IO.__Error.WinIOError(Int32, System.String)&lt;/p&gt;
&lt;p&gt;00aae684 79395557 System.IO.FileStream.Init(System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean)&lt;/p&gt;
&lt;p&gt;00aae77c 793983c8 System.IO.FileStream..ctor(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32, System.IO.FileOptions)&lt;/p&gt;
&lt;p&gt;00aae7a8 793984e3 System.IO.StreamWriter.CreateFile(System.String, Boolean)&lt;/p&gt;
&lt;p&gt;00aae7b8 79398550 System.IO.StreamWriter..ctor(System.String, Boolean, System.Text.Encoding, Int32)&lt;/p&gt;
&lt;p&gt;00aae7d8 7949959c System.IO.StreamWriter..ctor(System.String)&lt;/p&gt;
&lt;p&gt;00aae7e4 0efd10c1 Utility.WriteToLog(System.String, System.String)&lt;/p&gt;
&lt;p&gt;00aae830 0efd1052 ExceptionHandler.LogException(System.Exception)&lt;/p&gt;
&lt;p&gt;00aae83c 0efd117b Utility.WriteToLog(System.String, System.String)&lt;/p&gt;
&lt;p&gt;00aae900 0efd1052 ExceptionHandler.LogException(System.Exception)&lt;/p&gt;
&lt;p&gt;00aae90c 0efd117b Utility.WriteToLog(System.String, System.String)&lt;/p&gt;
&lt;p&gt;00aae9d0 0efd1052 ExceptionHandler.LogException(System.Exception)&lt;/p&gt;
&lt;p&gt;00aae9dc 0efd117b Utility.WriteToLog(System.String, System.String)&lt;/p&gt;
&lt;p&gt;With the !clrstack -a we can see the following:&lt;/p&gt;
&lt;p&gt;00aaf2cc 0efd117b Utility.WriteToLog(System.String, System.String)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;PARAMETERS:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;message = 0x01984770&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fileName = 0x01984840&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;LOCALS:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x00aaf348 = 0x00000000&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x00aaf344 = 0x05985190&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x00aaf360 = 0x00000000&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x00aaf35c = 0x00000000&lt;/p&gt;
&lt;p&gt;0:001&amp;gt; !dumpobj 0x01984840&lt;/p&gt;
&lt;p&gt;Name: System.String&lt;/p&gt;
&lt;p&gt;MethodTable: 790fd8c4&lt;/p&gt;
&lt;p&gt;EEClass: 790fd824&lt;/p&gt;
&lt;p&gt;Size: 38(0x26) bytes&lt;/p&gt;
&lt;p&gt; (C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll)&lt;/p&gt;
&lt;p&gt;String: c:\log.txt&lt;/p&gt;
&lt;p&gt;This is truly great...exception logger apparently tries to log stuff into C:\log.txt where it dies and spawns another exception apparently....look into the code for more :)&lt;/p&gt;
&lt;p&gt;Great post, and great fun :)&lt;/p&gt;</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#7936543</link><pubDate>Thu, 28 Feb 2008 20:38:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7936543</guid><dc:creator>Ed F</dc:creator><description>&lt;p&gt;Once you have the exception address, you can use !PrintException to get a stack trace.&lt;/p&gt;</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#7937903</link><pubDate>Fri, 29 Feb 2008 01:36:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7937903</guid><dc:creator>Andrew Lomakin</dc:creator><description>&lt;p&gt;Agreed - that simplifies the task greatly, but also steals a little bit of magic from it i guess. I wonder if we can wait for more things like this - this has been exciting :)&lt;/p&gt;
</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#7980927</link><pubDate>Sat, 01 Mar 2008 21:53:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7980927</guid><dc:creator>Bruno Aleixo</dc:creator><description>&lt;p&gt;My troubleshooting goes like this (any comments or corrections are most welcome):&lt;/p&gt;
&lt;p&gt;First i tried to get a dump&lt;/p&gt;
&lt;p&gt;adplus -crahs -pn w3wp.exe&lt;/p&gt;
&lt;p&gt;But the only exception i got was a stack overflow and it was way to late.&lt;/p&gt;
&lt;p&gt;My second chance was&lt;/p&gt;
&lt;p&gt;adplus -crash -pn w3wp.exe -dumponfirst&lt;/p&gt;
&lt;p&gt;Then when i reproduced the error and dumps keep on showing&lt;/p&gt;
&lt;p&gt;I opened the first dump and saw &lt;/p&gt;
&lt;p&gt; &amp;nbsp;13 &amp;nbsp; &amp;nbsp;1 &amp;nbsp;6a4 000d9410 &amp;nbsp; 1808220 Enabled &amp;nbsp;00000000:00000000 000fe610 &amp;nbsp; &amp;nbsp; 1 Ukn (Threadpool Worker) &lt;/p&gt;
&lt;p&gt; &amp;nbsp;System.IO.DirectoryNotFoundException (023b6ab0)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;Then&lt;/p&gt;
&lt;p&gt; &amp;nbsp;!do 023b6ab0 and got to see the message in the exception. Some directory &amp;nbsp;not found.&lt;/p&gt;
&lt;p&gt; &amp;nbsp;But so far no clues&lt;/p&gt;
&lt;p&gt; &amp;nbsp;Then i opened one of the last dumps and&lt;/p&gt;
&lt;p&gt;0:013&amp;gt; !threads&lt;/p&gt;
&lt;p&gt;ThreadCount: 7&lt;/p&gt;
&lt;p&gt;UnstartedThread: 1&lt;/p&gt;
&lt;p&gt;BackgroundThread: 6&lt;/p&gt;
&lt;p&gt;PendingThread: 1&lt;/p&gt;
&lt;p&gt;DeadThread: 0&lt;/p&gt;
&lt;p&gt;Hosted Runtime: no&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; &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;13 &amp;nbsp; &amp;nbsp;1 &amp;nbsp;6a4 000d9410 &amp;nbsp; 1808220 Enabled &amp;nbsp;00000000:00000000 000fe610 &amp;nbsp; &amp;nbsp; 1 Ukn (Threadpool Worker) &lt;/p&gt;
&lt;p&gt; &amp;nbsp;System.IO.DirectoryNotFoundException (023b6ab0) (nested exceptions)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;15 &amp;nbsp; &amp;nbsp;2 &amp;nbsp;c3c 000e51b0 &amp;nbsp; &amp;nbsp; &amp;nbsp;b220 Enabled &amp;nbsp;00000000:00000000 000d83c8 &amp;nbsp; &amp;nbsp; 0 MTA (Finalizer)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;16 &amp;nbsp; &amp;nbsp;3 &amp;nbsp;4ac 000fa8d8 &amp;nbsp; &amp;nbsp;80a220 Enabled &amp;nbsp;00000000:00000000 000d83c8 &amp;nbsp; &amp;nbsp; 0 MTA (Threadpool Completion Port)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;17 &amp;nbsp; &amp;nbsp;4 &amp;nbsp;eb4 000fddb8 &amp;nbsp; &amp;nbsp; &amp;nbsp;1220 Enabled &amp;nbsp;00000000:00000000 000d83c8 &amp;nbsp; &amp;nbsp; 0 Ukn&lt;/p&gt;
&lt;p&gt; &amp;nbsp;18 &amp;nbsp; &amp;nbsp;7 &amp;nbsp;8b4 00152aa0 &amp;nbsp; 180b220 Enabled &amp;nbsp;00000000:00000000 000d83c8 &amp;nbsp; &amp;nbsp; 0 MTA (Threadpool Worker)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;19 &amp;nbsp; &amp;nbsp;8 &amp;nbsp;420 001285d8 &amp;nbsp; 880b220 Enabled &amp;nbsp;00000000:00000000 000d83c8 &amp;nbsp; &amp;nbsp; 0 MTA (Threadpool Completion Port)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;22 &amp;nbsp; &amp;nbsp;5 &amp;nbsp;8f8 00150a68 &amp;nbsp; &amp;nbsp; &amp;nbsp;1400 Enabled &amp;nbsp;00000000:00000000 000d83c8 &amp;nbsp; &amp;nbsp; 0 Ukn&lt;/p&gt;
&lt;p&gt; &amp;nbsp;Now i can see some nested exceptions.&lt;/p&gt;
&lt;p&gt;!printexception -nested 023b6ab0&lt;/p&gt;
&lt;p&gt;Exception object: 023b6ab0&lt;/p&gt;
&lt;p&gt;Exception type: System.IO.DirectoryNotFoundException&lt;/p&gt;
&lt;p&gt;Message: Could not find a part of the path 'c:\files\log.txt'.&lt;/p&gt;
&lt;p&gt;InnerException: &amp;lt;none&amp;gt;&lt;/p&gt;
&lt;p&gt;StackTrace (generated):&lt;/p&gt;
&lt;p&gt;&amp;lt;none&amp;gt;&lt;/p&gt;
&lt;p&gt;StackTraceString: &amp;lt;none&amp;gt;&lt;/p&gt;
&lt;p&gt;HResult: 80070003&lt;/p&gt;
&lt;p&gt;Nested exception -------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;Exception object: 023b5ad0&lt;/p&gt;
&lt;p&gt;Exception type: System.IO.DirectoryNotFoundException&lt;/p&gt;
&lt;p&gt;Message: Could not find a part of the path 'c:\files\log.txt'.&lt;/p&gt;
&lt;p&gt;InnerException: &amp;lt;none&amp;gt;&lt;/p&gt;
&lt;p&gt;StackTrace (generated):&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;SP &amp;nbsp; &amp;nbsp; &amp;nbsp; IP &amp;nbsp; &amp;nbsp; &amp;nbsp; Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0D048 79653A45 mscorlib_ni!System.IO.__Error.WinIOError(Int32, System.String)+0x1ebd31&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0D0A8 7936F43B mscorlib_ni!System.IO.FileStream.Init(System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean)+0x3e7&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0D19C 7936EF30 mscorlib_ni!System.IO.FileStream..ctor(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32, System.IO.FileOptions)+0x74&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0D1C8 7936EEAB mscorlib_ni!System.IO.StreamWriter.CreateFile(System.String, Boolean)+0x3b&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0D1D8 7936EE54 mscorlib_ni!System.IO.StreamWriter..ctor(System.String, Boolean, System.Text.Encoding, Int32)+0x5c&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0D1F8 794752FC mscorlib_ni!System.IO.StreamWriter..ctor(System.String)+0x1c&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0D204 020D10C1 App_Code_gukcpxoe!Utility.WriteToLog(System.String, System.String)+0x59&lt;/p&gt;
&lt;p&gt;StackTraceString: &amp;lt;none&amp;gt;&lt;/p&gt;
&lt;p&gt;HResult: 80070003&lt;/p&gt;
&lt;p&gt;(...)&lt;/p&gt;
&lt;p&gt;Nested exception -------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;Exception object: 023a64fc&lt;/p&gt;
&lt;p&gt;Exception type: System.IO.DirectoryNotFoundException&lt;/p&gt;
&lt;p&gt;Message: Could not find a part of the path 'c:\files\log.txt'.&lt;/p&gt;
&lt;p&gt;InnerException: &amp;lt;none&amp;gt;&lt;/p&gt;
&lt;p&gt;StackTrace (generated):&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;SP &amp;nbsp; &amp;nbsp; &amp;nbsp; IP &amp;nbsp; &amp;nbsp; &amp;nbsp; Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0F0C8 79653A45 mscorlib_ni!System.IO.__Error.WinIOError(Int32, System.String)+0x1ebd31&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0F128 7936F43B mscorlib_ni!System.IO.FileStream.Init(System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean)+0x3e7&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0F21C 7936EF30 mscorlib_ni!System.IO.FileStream..ctor(System.String, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare, Int32, System.IO.FileOptions)+0x74&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0F248 7936EEAB mscorlib_ni!System.IO.StreamWriter.CreateFile(System.String, Boolean)+0x3b&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0F258 7936EE54 mscorlib_ni!System.IO.StreamWriter..ctor(System.String, Boolean, System.Text.Encoding, Int32)+0x5c&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0F278 794752FC mscorlib_ni!System.IO.StreamWriter..ctor(System.String)+0x1c&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0F284 020D10C1 App_Code_gukcpxoe!Utility.WriteToLog(System.String, System.String)+0x59&lt;/p&gt;
&lt;p&gt;StackTraceString: &amp;lt;none&amp;gt;&lt;/p&gt;
&lt;p&gt;HResult: 80070003&lt;/p&gt;
&lt;p&gt;Nested exception -------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;Exception object: 023a5600&lt;/p&gt;
&lt;p&gt;Exception type: System.Exception&lt;/p&gt;
&lt;p&gt;Message: The email entered is not a valid email address&lt;/p&gt;
&lt;p&gt;InnerException: &amp;lt;none&amp;gt;&lt;/p&gt;
&lt;p&gt;StackTrace (generated):&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;SP &amp;nbsp; &amp;nbsp; &amp;nbsp; IP &amp;nbsp; &amp;nbsp; &amp;nbsp; Function&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0F33C 020D1005 App_Code_gukcpxoe!BuggyMail.IsValidEmailAddress(System.String)+0x65&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;01A0F354 020D0F4C App_Code_gukcpxoe!BuggyMail.SendEmail(System.String, System.String)+0x3c&lt;/p&gt;
&lt;p&gt;StackTraceString: &amp;lt;none&amp;gt;&lt;/p&gt;
&lt;p&gt;HResult: 80131500&lt;/p&gt;
&lt;p&gt;I see that my SendEmail is calling a IsValidEmailAddress that throws a DirectoryNotFoundException&lt;/p&gt;
&lt;p&gt;and then i see a loop of exceptions in Utility.WriteToLog. (Still don&amp;#180;t know the line that caused the loop)&lt;/p&gt;
&lt;p&gt;Then i will see what was IP pointing at the time of the exception&lt;/p&gt;
&lt;p&gt; &amp;nbsp;01A0F284 020D10C1 App_Code_gukcpxoe!Utility.WriteToLog(System.String, System.String)+0x59&lt;/p&gt;
&lt;p&gt;0:013&amp;gt; !ip2md 020D10C1 &lt;/p&gt;
&lt;p&gt;MethodDesc: 01ce8d58&lt;/p&gt;
&lt;p&gt;Method Name: Utility.WriteToLog(System.String, System.String)&lt;/p&gt;
&lt;p&gt;Class: 02085b20&lt;/p&gt;
&lt;p&gt;MethodTable: 01ce8d60&lt;/p&gt;
&lt;p&gt;mdToken: 06000018&lt;/p&gt;
&lt;p&gt;Module: 01ce6754&lt;/p&gt;
&lt;p&gt;IsJitted: yes&lt;/p&gt;
&lt;p&gt;m_CodeOrIL: 020d1068&lt;/p&gt;
&lt;p&gt;!dumpmt 01ce8d60&lt;/p&gt;
&lt;p&gt;EEClass: 02085b20&lt;/p&gt;
&lt;p&gt;Module: 01ce6754&lt;/p&gt;
&lt;p&gt;Name: Utility&lt;/p&gt;
&lt;p&gt;mdToken: 0200000a &amp;nbsp;(C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\buggybits\0b50c844\fb864981\App_Code.gukcpxoe.dll)&lt;/p&gt;
&lt;p&gt;BaseSize: 0xc&lt;/p&gt;
&lt;p&gt;ComponentSize: 0x0&lt;/p&gt;
&lt;p&gt;Number of IFaces in IFaceMap: 0&lt;/p&gt;
&lt;p&gt;Slots in VTable: 6&lt;/p&gt;
&lt;p&gt; lmv mApp_Code_gukcpxoe&lt;/p&gt;
&lt;p&gt;start &amp;nbsp; &amp;nbsp;end &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;module name&lt;/p&gt;
&lt;p&gt;02060000 0206a000 &amp;nbsp; App_Code_gukcpxoe &amp;nbsp; (deferred) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Image path: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\buggybits\0b50c844\fb864981\App_Code.gukcpxoe.dll&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Image name: App_Code.gukcpxoe.dll&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Using CLR debugging support for all symbols&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Has CLR image header, track-debug-data flag not set&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Timestamp: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Sat Mar 01 11:17:44 2008 (47C93B58)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;CheckSum: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 00000000&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;ImageSize: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0000A000&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;File version: &amp;nbsp; &amp;nbsp; 0.0.0.0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Product version: &amp;nbsp;0.0.0.0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;File flags: &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 (Mask 3F)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;File OS: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4 Unknown Win32&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;File type: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2.0 Dll&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;File date: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;00000000.00000000&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Translations: &amp;nbsp; &amp;nbsp; 0000.04b0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;InternalName: &amp;nbsp; &amp;nbsp; App_Code.gukcpxoe.dll&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;OriginalFilename: App_Code.gukcpxoe.dll&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;ProductVersion: &amp;nbsp; 0.0.0.0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;FileVersion: &amp;nbsp; &amp;nbsp; &amp;nbsp;0.0.0.0&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;FileDescription: &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;LegalCopyright: &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then let me save the module that starts at &lt;/p&gt;
&lt;p&gt;!savemodule 02060000 &amp;nbsp;c:\file.dll&lt;/p&gt;
&lt;p&gt;3 sections in file&lt;/p&gt;
&lt;p&gt;section 0 - VA=2000, VASize=2654, FileAddr=200, FileSize=2800&lt;/p&gt;
&lt;p&gt;section 1 - VA=6000, VASize=2c8, FileAddr=2a00, FileSize=400&lt;/p&gt;
&lt;p&gt;section 2 - VA=8000, VASize=c, FileAddr=2e00, FileSize=200&lt;/p&gt;
&lt;p&gt;After i open the module i get to see the code using Reflector&lt;/p&gt;
&lt;p&gt;public static void WriteToLog(string message, string fileName)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;try&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;using (StreamWriter writer = new StreamWriter(fileName))&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;writer.WriteLine(&amp;quot;--------------------------&amp;quot;);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;writer.WriteLine(DateTime.Now.ToLongTimeString());&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;writer.WriteLine(&amp;quot;-------------------&amp;quot;);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;writer.WriteLine(message);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;catch (Exception exception)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ExceptionHandler.LogException(exception);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;It looks like we are in a loop.&lt;/p&gt;
&lt;p&gt;Just to check the line that actually caused the exception&lt;/p&gt;
&lt;p&gt;!u 020D10C1 &lt;/p&gt;
&lt;p&gt;Normal JIT generated code&lt;/p&gt;
&lt;p&gt;Utility.WriteToLog(System.String, System.String)&lt;/p&gt;
&lt;p&gt;Begin 020d1068, size 126&lt;/p&gt;
&lt;p&gt;(...)&lt;/p&gt;
&lt;p&gt;020d10b0 e8efcfdb77 &amp;nbsp; &amp;nbsp; &amp;nbsp;call &amp;nbsp; &amp;nbsp;mscorwks!JIT_NewCrossContext (79e8e0a4)&lt;/p&gt;
&lt;p&gt;020d10b5 8bf0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov &amp;nbsp; &amp;nbsp; esi,eax&lt;/p&gt;
&lt;p&gt;020d10b7 8b55c4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov &amp;nbsp; &amp;nbsp; edx,dword ptr [ebp-3Ch]&lt;/p&gt;
&lt;p&gt;020d10ba 8bce &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov &amp;nbsp; &amp;nbsp; ecx,esi&lt;/p&gt;
&lt;p&gt;020d10bc e8af3e5c77 &amp;nbsp; &amp;nbsp; &amp;nbsp;call &amp;nbsp; &amp;nbsp;System.IO.StreamWriter..ctor(System.String) (79694f70)&lt;/p&gt;
&lt;p&gt;&amp;gt;&amp;gt;&amp;gt; 020d10c1 8975c0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov &amp;nbsp; &amp;nbsp; dword ptr [ebp-40h],esi&lt;/p&gt;
&lt;p&gt;(...)&lt;/p&gt;
&lt;p&gt;So prior to the exception we were initiallizing the StreamWriter.&lt;/p&gt;
&lt;p&gt;From this i can see where the exception took place, why (in previous exception messages)&lt;/p&gt;
&lt;p&gt;and following the code i see recursion (infinite) and thats why i got in my first&lt;/p&gt;
&lt;p&gt;dump stack overflow. (that is also in the event viewer )&lt;/p&gt;
&lt;p&gt;This actually happens because we are in framework 2.0 and because the &lt;/p&gt;
&lt;p&gt;exception occurs outside CLR the process goes down. Am i correct? If&lt;/p&gt;
&lt;p&gt;i was in 1.1 no shutdown would have occurred right ?&lt;/p&gt;</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#7982330</link><pubDate>Sun, 02 Mar 2008 01:08:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7982330</guid><dc:creator>Tess</dc:creator><description>&lt;p&gt;Nice to see the great troubleshooting. &amp;nbsp;Yes, the stackoverflow caused by the infinite recursion is causing the crash so nice work there...&lt;/p&gt;
&lt;p&gt;Bruno, the issue would have caused a stackoverflow and a crash in 1.1. as well... you can't recover from a stackoverflow, I think what you might be thinking of is how unhandled exceptions are handled differently in 1.1. and 2.0.&lt;/p&gt;
&lt;p&gt;I also have one question to both Bruno and Andrew... you both create full dumps on firstchance exceptions which seems pretty logical but did you notice how much impact this had in regards to CPU usage, time for shutdown and disk space of course? &amp;nbsp;Given the amount of 1st chance exceptions this must have yielded over 1000 dumps... &amp;nbsp;in a real-world scenario this would probably not have worked out so well... &amp;nbsp;&lt;/p&gt;
&lt;p&gt;could you have gotten the info you got without getting all these 1st chance exception dumps?&lt;/p&gt;
</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#7988865</link><pubDate>Sun, 02 Mar 2008 14:57:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7988865</guid><dc:creator>Bruno Aleixo</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;yes i was mixing the way how unhandled exceptions are handled.&lt;/p&gt;
&lt;p&gt;I could have just get a dump like&lt;/p&gt;
&lt;p&gt;adplus -crash -pn w3wp.exe &lt;/p&gt;
&lt;p&gt;And then even if i don&amp;#180;t have the managed threads i can get the stack on all exceptions using &lt;/p&gt;
&lt;p&gt;.foreach (ex {!dumpheap -type Exception -short}){!pe ${ex}}&lt;/p&gt;
&lt;p&gt;and after looking at the pattern and i have all the information to do the rest of the troubleshooting the same way i guess.&lt;/p&gt;
&lt;p&gt;I have one question: this dump i get i only have on thread and it&amp;#180;s not managed. Since the bug causes w3wp to end isn&amp;#180;t it possible to get a breakpoint in Kernel32!ExitProcess and in this way i would get more information about the threads ? Because i tried this and couldn&amp;#180;t get no dump.&lt;/p&gt;
</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#7989269</link><pubDate>Sun, 02 Mar 2008 15:47:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7989269</guid><dc:creator>Tess</dc:creator><description>&lt;p&gt;If you look at the log file you will see that another exception (the stackoverflow exception) occurred right before the crash... &amp;nbsp;creating an adplus config file to get a dump on this exception would give you a dump at the right place&lt;/p&gt;
</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#7991652</link><pubDate>Sun, 02 Mar 2008 20:30:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7991652</guid><dc:creator>Bruno Aleixo</dc:creator><description>&lt;p&gt;If i do the dump with adplus -crash -pn w3wp i can see the Overflow Exception, and using the foreach will get me to the right place.&lt;/p&gt;
&lt;p&gt;0:000&amp;gt; .loadby sos mscorwks&lt;/p&gt;
&lt;p&gt;0:000&amp;gt; !threads&lt;/p&gt;
&lt;p&gt;ThreadCount: 6&lt;/p&gt;
&lt;p&gt;UnstartedThread: 0&lt;/p&gt;
&lt;p&gt;BackgroundThread: 6&lt;/p&gt;
&lt;p&gt;PendingThread: 0&lt;/p&gt;
&lt;p&gt;DeadThread: 0&lt;/p&gt;
&lt;p&gt;Hosted Runtime: no&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; &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;XXXX &amp;nbsp; &amp;nbsp;1 &amp;nbsp;7ec 000d9560 &amp;nbsp; 1808220 Disabled 00000000:00000000 000fe6c8 &amp;nbsp; &amp;nbsp; 1 Ukn (Threadpool Worker) System.StackOverflowException (0230106c) (nested exceptions)&lt;/p&gt;
&lt;p&gt;XXXX &amp;nbsp; &amp;nbsp;2 &amp;nbsp;870 000e52f8 &amp;nbsp; &amp;nbsp; &amp;nbsp;b220 Enabled &amp;nbsp;00000000:00000000 000c2b68 &amp;nbsp; &amp;nbsp; 0 Ukn (Finalizer)&lt;/p&gt;
&lt;p&gt;XXXX &amp;nbsp; &amp;nbsp;3 &amp;nbsp;224 000fa760 &amp;nbsp; &amp;nbsp;80a220 Enabled &amp;nbsp;00000000:00000000 000c2b68 &amp;nbsp; &amp;nbsp; 0 Ukn (Threadpool Completion Port)&lt;/p&gt;
&lt;p&gt;XXXX &amp;nbsp; &amp;nbsp;4 &amp;nbsp;9a0 000fde70 &amp;nbsp; &amp;nbsp; &amp;nbsp;1220 Enabled &amp;nbsp;00000000:00000000 000c2b68 &amp;nbsp; &amp;nbsp; 0 Ukn&lt;/p&gt;
&lt;p&gt;XXXX &amp;nbsp; &amp;nbsp;5 &amp;nbsp;b78 0014a450 &amp;nbsp; 880a220 Enabled &amp;nbsp;00000000:00000000 000c2b68 &amp;nbsp; &amp;nbsp; 0 Ukn (Threadpool Completion Port)&lt;/p&gt;
&lt;p&gt;XXXX &amp;nbsp; &amp;nbsp;6 &amp;nbsp;e3c 0014a920 &amp;nbsp; 880b220 Enabled &amp;nbsp;00000000:00000000 000c2b68 &amp;nbsp; &amp;nbsp; 0 Ukn (Threadpool Completion Port)&lt;/p&gt;
&lt;p&gt;I tried to create the config file like you said &lt;/p&gt;
&lt;p&gt;&amp;lt;ADPlus&amp;gt;&lt;/p&gt;
&lt;p&gt;	&amp;lt;Settings&amp;gt;&lt;/p&gt;
&lt;p&gt;		&amp;lt;RunMode&amp;gt;CRASH&amp;lt;/RunMode&amp;gt;&lt;/p&gt;
&lt;p&gt;		&amp;lt;Option&amp;gt;Quiet&amp;lt;/Option&amp;gt;&lt;/p&gt;
&lt;p&gt;	&amp;lt;/Settings&amp;gt;&lt;/p&gt;
&lt;p&gt;	&amp;lt;Exceptions&amp;gt;&lt;/p&gt;
&lt;p&gt;		&amp;lt;Option&amp;gt;&lt;/p&gt;
&lt;p&gt;			NoDumpOnFirstChance&lt;/p&gt;
&lt;p&gt;		&amp;lt;/Option&amp;gt;&lt;/p&gt;
&lt;p&gt;		&amp;lt;Config&amp;gt;&lt;/p&gt;
&lt;p&gt;			&amp;lt;Code&amp;gt;&lt;/p&gt;
&lt;p&gt;				clr&lt;/p&gt;
&lt;p&gt;			&amp;lt;/Code&amp;gt;&lt;/p&gt;
&lt;p&gt;			&amp;lt;Actions1&amp;gt;&lt;/p&gt;
&lt;p&gt;				Void&lt;/p&gt;
&lt;p&gt;			&amp;lt;/Actions1&amp;gt;			&lt;/p&gt;
&lt;p&gt;			&amp;lt;CustomActions1&amp;gt;&lt;/p&gt;
&lt;p&gt;				.loadby sos mscorwks;&lt;/p&gt;
&lt;p&gt;				!stoponexception System.StackOverflowException 3;&lt;/p&gt;
&lt;p&gt;				.if @@(@$t3==1){.dump /ma /u C:\\SOE.dmp}&lt;/p&gt;
&lt;p&gt;			&amp;lt;/CustomActions1&amp;gt;&lt;/p&gt;
&lt;p&gt;			&amp;lt;ReturnAction1&amp;gt;&lt;/p&gt;
&lt;p&gt;				GN&lt;/p&gt;
&lt;p&gt;			&amp;lt;/ReturnAction1&amp;gt;&lt;/p&gt;
&lt;p&gt;		&amp;lt;/Config&amp;gt;&lt;/p&gt;
&lt;p&gt;	&amp;lt;/Exceptions&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/ADPlus&amp;gt;&lt;/p&gt;
&lt;p&gt;but i see that after reproducing the bug, my VM gets really slow while it&amp;#180;s trying to get the dump, but then i don&amp;#180;t get any dump. Am i missing something in my conf file ?&lt;/p&gt;
</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#8006719</link><pubDate>Mon, 03 Mar 2008 20:48:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8006719</guid><dc:creator>Andrew Lomakin</dc:creator><description>&lt;p&gt;Was trying to dig into more these crashes, but apparently since i installed vista with SP1 in it, i'm not getting anything with SOS.dll ...i get to &lt;/p&gt;
&lt;p&gt;0:000&amp;gt; !clrstack&lt;/p&gt;
&lt;p&gt;PDB symbol for mscorwks.dll not loaded&lt;/p&gt;
&lt;p&gt;Failed to load data access DLL, 0x80004005&lt;/p&gt;
&lt;p&gt;process monitor says this:&lt;/p&gt;
&lt;p&gt;39179	5:37:21.3735252 PM	windbg.exe	4924	QueryOpen	C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscordacwks.dll	FAST IO DISALLOWED	&lt;/p&gt;
&lt;p&gt;Apparently i need some more debugging of OS before i can get back to debugging of the buggy bits website. :)&lt;/p&gt;
&lt;p&gt;Regarding first chance exceptions, and the disk space, i presume that -FullOnFirstOver would fix the size of the created files issue (personally i just killed cdb in task manager when i saw several files were created).&lt;/p&gt;
&lt;p&gt;Regarding other ways to capture the bug, capturing at the moment of stack overflow .....yeah.....well..we're just learning, aren't we.&lt;/p&gt;
&lt;p&gt;P.S. do you have some good tips on how to read the logfile created by cdb?&lt;/p&gt;
</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#8009423</link><pubDate>Mon, 03 Mar 2008 23:45:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8009423</guid><dc:creator>Tess</dc:creator><description>&lt;p&gt;absolutely right, its part of learning:) was just challenging you a little bit:) &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Sounds by the message you are getting on vista that the symbols are simply not lined up right... &lt;/p&gt;
&lt;p&gt;I'll post the lab and walkthrough shortly, it'll have some info on going through the log file so I'll answer that one shortly&lt;/p&gt;
</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#8009524</link><pubDate>Mon, 03 Mar 2008 23:50:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8009524</guid><dc:creator>Tess</dc:creator><description>&lt;p&gt;Bruno, &amp;nbsp;try looking at the cfg file and dumping on the native exception that occurred right before the crash rather than the managed stackoverflow&lt;/p&gt;
</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#8033261</link><pubDate>Tue, 04 Mar 2008 22:42:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8033261</guid><dc:creator>Bruno Aleixo</dc:creator><description>&lt;p&gt;After some help :) ok i cheated about finding the native exception here it goes:&lt;/p&gt;
&lt;p&gt;it the log of my first dump i have &lt;/p&gt;
&lt;p&gt;Tue Mar &amp;nbsp;4 19:32:40.204 2008 (GMT+0): (fa4.c6c): Unknown exception - code e053534f (first chance)&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;--- 1st chance UnknownException exception ----&lt;/p&gt;
&lt;p&gt;---------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;Then it was necessary to set a config file (or debugdiag) to set a breakpoint in this exception e053534f. Then i got the dump at the right time.&lt;/p&gt;
&lt;p&gt;Then looking at kb i see mscorwks!ReportStackOverflow in top so it&amp;#180;s easier from now on in this situation to do&lt;/p&gt;
&lt;p&gt;Bm mscorwks!ReportStackOverflow&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Thanks &lt;/p&gt;
</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#8034088</link><pubDate>Tue, 04 Mar 2008 23:18:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8034088</guid><dc:creator>Bruno Aleixo</dc:creator><description>&lt;p&gt;Just to complete my previous comment here it is the config i created.&lt;/p&gt;
&lt;p&gt;&amp;lt;ADPlus&amp;gt;&lt;/p&gt;
&lt;p&gt;	&amp;lt;Settings&amp;gt;&lt;/p&gt;
&lt;p&gt;		&amp;lt;RunMode&amp;gt;CRASH&amp;lt;/RunMode&amp;gt;&lt;/p&gt;
&lt;p&gt;		&amp;lt;Option&amp;gt;Quiet&amp;lt;/Option&amp;gt;&lt;/p&gt;
&lt;p&gt;	&amp;lt;/Settings&amp;gt;&lt;/p&gt;
&lt;p&gt;	&amp;lt;Exceptions&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;NewException&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Code&amp;gt; 0xe053534f&amp;lt;/Code&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;Name&amp;gt; My_Custom_Exception&amp;lt;/Name&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/NewException&amp;gt;&lt;/p&gt;
&lt;p&gt;		&amp;lt;Config&amp;gt;&lt;/p&gt;
&lt;p&gt;			&amp;lt;Code&amp;gt; 0xe053534f&amp;lt;/Code&amp;gt;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 		&amp;lt;Name&amp;gt; My_Custom_Exception &amp;lt;/Name&amp;gt;&lt;/p&gt;
&lt;p&gt;			&amp;lt;Actions1&amp;gt;&lt;/p&gt;
&lt;p&gt;				FullDump&lt;/p&gt;
&lt;p&gt;			&amp;lt;/Actions1&amp;gt;			&lt;/p&gt;
&lt;p&gt;		&amp;lt;/Config&amp;gt;&lt;/p&gt;
&lt;p&gt;	&amp;lt;/Exceptions&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/ADPlus&amp;gt;&lt;/p&gt;
</description></item><item><title>re: .NET Debugging Demos Lab 5: Debugging Challenge! (time to test your knowledge)</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#8036025</link><pubDate>Wed, 05 Mar 2008 00:41:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8036025</guid><dc:creator>Tess</dc:creator><description>&lt;p&gt;Excellent work, I'll be posting the real lab and walktrhough tomorrow&lt;/p&gt;
</description></item><item><title>.NET Debugging Demos Lab 5: Crash</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#8050322</link><pubDate>Wed, 05 Mar 2008 13:20:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8050322</guid><dc:creator>If broken it is, fix it you should</dc:creator><description>&lt;p&gt;Last week I published a debugging challenge for Lab 5. It was really interesting to see the results and&lt;/p&gt;
</description></item><item><title>.NET Debugging Demos Lab5: Crash - Review</title><link>http://blogs.msdn.com/tess/archive/2008/02/28/net-debugging-demos-lab-5-debugging-challenge-time-to-test-your-knowledge.aspx#8050348</link><pubDate>Wed, 05 Mar 2008 13:22:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8050348</guid><dc:creator>If broken it is, fix it you should</dc:creator><description>&lt;p&gt;Since I already posted a challenge for this lab earlier I didn't want to wait too long with publishing&lt;/p&gt;
</description></item></channel></rss>