<?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: #26 - WinDbg - Semaphores, Mutexes and Timers</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-26-WinDbg-Semaphores-Mutexes-and-Timers/RSS"></atom:link>
	<image>
		<url>http://media.ch9.ms/ch9/f597/02714895-0b3c-4cd0-9305-19760f4bf597/DefragToolsEpisode26_220.jpg</url>
		<title>Channel 9 - Defrag Tools: #26 - WinDbg - Semaphores, Mutexes and Timers</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 Semaphores, Mutexes and (Waitable) Timers in a user mode application. For timers, we&amp;nbsp;delve deep in to the kernel to gather more information about them. We use these commands: !handle !handle &amp;lt;handle&amp;gt; &amp;lt;mask&amp;gt; !object &amp;lt;name&amp;gt; !object &amp;lt;addr&amp;gt; !timer !timer &amp;lt;addr&amp;gt; ub @rip dt nt!_KTHREAD &amp;lt;addr&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 FunctionsSemaphore ObjectsMutex ObjectsWaitable Timer ObjectsSysinternals LiveKDSysinternals WinObjWindows 7 and Windows Server 2008 R2 Kernel Changes&amp;nbsp;(Timer Coalescing) Timeline:[02:47] - Demo Apps [SkyDrive][03:08] - Semaphores[09:32] - Mutexes[15:32] - Waitable Timers[15:58] - Clock Resolution[17:05] - Timer Coalescing[19:45] - Timer demo application[25:05] - LiveKD makes a kernel dump[26:37] - Object Manager - !object[29:40] - DPC Timers - !timer[35:22] - !timer &amp;lt;addr&amp;gt;[35:52] - Waiting Threads - !thread &amp;lt;addr&amp;gt; 17[37:08] - Wait Start TickCount[38:55] - Kernel Wait&amp;nbsp;Routines[41:12] - Dump Type of Kernel Thread - dt nt!_KTHREAD &amp;lt;addr&amp;gt;[42:00] - Running, Ready and Waiting states[44:54] - Wakable Timers[47:22] - powercfg.exe /waketimers[49:18] - &#39;Century&#39; DPC Timer Routine[50:43] - Post in the forums and email us at defragtools@microsoft.com! </description>
	<link></link>
	<language>en</language>
	<pubDate>Wed, 19 Jun 2013 14:48:15 GMT</pubDate>
	<lastBuildDate>Wed, 19 Jun 2013 14:48:15 GMT</lastBuildDate>
	<generator>Rev9</generator>
</channel>
</rss>