Blocking Objects

fremag edited this page Dec 22, 2016 · 5 revisions

From the main view, click on "blocking Objects" buttons (in Threads tab) to display blocking objects.

In a object is "Taken", it means a thread is blocked it's waiting for a notification from this object.

With MemoDummy's DeadLockedThreadScript, it's easy to create deadlock where two threads are waiting for a ressource locked by the other thread.

In the "Blocking Object", we can see that two instances of type string are locked:

  • the first one (address: 25C42A8) is locked by thread with id 5 (name: "thread 1: locks A then B") and waited by thread with id 6 (and name: "thread 2: locks B then A")
  • the second one (address: 25C428C) is in opposite situation ie locked by thread #6 and waited by thread #5

So obviusly, thread #5 and #6 are deadlocked !

Nb: the hourglass icon means "waiting for", the lock icon means "locked by"

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.