0

I have a .net managed application that interops with a native dll. Problem is that sometimes the application just hangs and doesn't respond. Looking at the managed side, I don't see any threads callstacks doing any wait or sleep. SOS !threads and !syncblk does not show any locks either. Any idea what should I look into the native side to figure out what is been blocked etc?

Silverlight Student
  • 3,968
  • 10
  • 37
  • 53
  • We'd need more information. This is a little too broad. Doesn't necessary have to be waiting or sleeping, incidentally, could be stuck in an infinite loop as well... Have you tried stepping through the managed side using a debugger? Put logging around calls to the native DLL to verify that it is stuck in the native? – James Michael Hare Nov 03 '11 at 18:39
  • more information as to the overall architecture of your application may be helpful. – Mr.Mindor Nov 03 '11 at 18:39
  • Its a standard winform application with pretty large code base and pretty much no logging at all. The native APIs are called at so many places. Some from UI threads, plus some via BackgroundWorker also. I was thinking if i take a process dump and somehow find some clues via Windbg/SOS – Silverlight Student Nov 03 '11 at 18:52

1 Answers1

1

Try going to

Task Manager -> Performance -> Resource Monitor...

right click your process and click

Analyze Wait Chain...

This could give you some information.

Nikola Radosavljević
  • 6,871
  • 32
  • 44