Jump to content
Nytro

Defrag Tools: #24 - WinDbg - Critical Sections

Recommended Posts

Posted

[h=1]Defrag Tools: #24 - WinDbg - Critical Sections[/h]By: Larry Larsen, Andrew Richards, Chad Beeder

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 a Critical Section hang in a user mode application. We start with an overview of the four synchronization primitives and then delve deep in to temporary hangs, orphaned Critical Sections and deadlocks. We use these commands:

  • ~*k
  • ~*kv
  • ~
  • ~~[TID]s
  • !cs
  • !cs <pointer>
  • !locks

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 symbols and source code resolution.

Resources:

Critical Section Objects

Timeline:

[01:00] - Hang types - CPU Looping, Temporary Hangs and Permanent Hangs

[02:00] - Synchronization Objects - Event, Semaphore, Mutex, Critical Section

[06:54] - Critical Sections

[11:45] - Debugging a Hang

[28:08] - Debugging an Orphan

[32:40] - Debugging a Deadlock

Video:

http://channel9.msdn.com/Shows/Defrag-Tools/Defrag-Tools-24-WinDbg-Critical-Sections

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...