<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for Channel 9 - Defrag Tools: #25 - WinDbg - Events</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-25-WinDbg-Events/RSS"></atom:link>
	<image>
		<url>http://media.ch9.ms/ch9/79b6/4629f48e-aba4-400c-a1e0-6604f2fc79b6/DefragTools25_220.jpg</url>
		<title>Channel 9 - Defrag Tools: #25 - WinDbg - Events</title>
		<link></link>
	</image>
	<description>In this episode of Defrag Tools, Andrew Richards, Chad Beeder and Larry Larsen continue looking at the Debugging Tools for Windows (in particular WinDbg). WinDbg is a debugger that supports user mode debugging of a process, or kernel mode debugging of a computer. This installment goes over the commands used to diagnose an Event hang in a user mode application. We&amp;nbsp;talk about single and multiple event hangs,&amp;nbsp;automatic and manual events, waitable object handles and common design patterns that you will encounter. We use these commands: ~*k ~*kv ~ ~~[TID]s dp &amp;lt;addr&amp;gt; !handle !handle &amp;lt;handle&amp;gt; &amp;lt;mask&amp;gt; .dumpdebug !uniqstack !findstack &amp;lt;text&amp;gt; Make sure you watch Defrag Tools Episode #1 and Defrag Tools Episode #23 for instructions on how to get the Debugging Tools for Windows and how to set the required environment variables for symbol and source code resolution. Resources:Synchronization FunctionsSysinternals WinObj Timeline:[00:00] - Event objects[03:56] - Waitable objects and Design Patterns[08:00] - Handles[10:52] - x64/x86/ARM&amp;nbsp;calling conventions and 32/64bit addressing[14:10] - WaitForSingleObject with a single Auto-Reset Event[14:55] - !handle[16:02] - .dumpdebug -- MiniDumpWithHandleData[16:36] - !handle &amp;lt;handle&amp;gt; &amp;lt;mask&amp;gt;[19:48] - Sysinternals WinObj[24:14] - WaitForMultipleObjects with multiple Thread Handles[30:00] -&amp;nbsp;Work and Quit Event Design Pattern[33:45] - WaitForMultipleObjects with multiple Event Handles[38:52] - Windows Explorer example[44:50] - Process Explorer also shows Handles (Ctrl-H) </description>
	<link></link>
	<language>en</language>
	<pubDate>Sun, 26 May 2013 05:13:39 GMT</pubDate>
	<lastBuildDate>Sun, 26 May 2013 05:13:39 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: Defrag Tools: #25 - WinDbg - Events</title>
		<description>
			<![CDATA[<p>Excellent video. The content really reiterates and compliment concepts in the new Windows internal books. Great stuff... what do I need 4 years of Univ for when I got you guys.</p><p>posted by dcrearer</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-25-WinDbg-Events#c634950768441946631</link>
		<pubDate>Tue, 29 Jan 2013 17:20:44 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-25-WinDbg-Events#c634950768441946631</guid>
		<dc:creator>dcrearer</dc:creator>
	</item>
	<item>
		<title>Re: Defrag Tools: #25 - WinDbg - Events</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Defrag-Tools/Defrag-Tools-25-WinDbg-Events#c634950768441946631">dcrearer</a>: LOL!</p><p>posted by windev</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-25-WinDbg-Events#c634950821694463433</link>
		<pubDate>Tue, 29 Jan 2013 18:49:29 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-25-WinDbg-Events#c634950821694463433</guid>
		<dc:creator>windev</dc:creator>
	</item>
</channel>
</rss>