Filemon rocks

Thursday 16 September 2004

I haven’t mentioned Sysinternals in a while, but they should be promoted forcefully and often.

Yesterday I wasted five hours trying to figure out why a C# module couldn’t call a COM interface. The method was obviously properly defined, and called properly, but it always raised a No Such Method exception. I used oleview and ildasm and regasm until my eyes were crossed. I cleaned and rebuilt. I rebooted. Hours passed and I still could not figure out why it didn’t work. A handful of workers were similarly baffled after wasting more time.

Finally we had the bright idea of using Filemon to monitor exactly what files were being used by the process in question. Two minutes later, it was clear that my local download assembly cache (WTF?) had a stale copy of the assembly. I executed “gacutil /cdl” to clear the cache, and the problem was gone.

Thank you, thank you, thank you Sysinternals!


Jeff Darcy 11:33 AM on 16 Sep 2004

I actually find RegMon even more useful than FileMon a lot of times, when I'm trying to figure out WTF some program is looking for to make it happy. Sysinternals is definitely a key resource.

Ned Batchelder 12:48 PM on 16 Sep 2004

Absolutely: RegMon is exceptional as well. I didn't happen to use it yesterday, but it was the next choice in line if Filemon hadn't worked.

Christopher Baus 12:53 PM on 20 Sep 2004

I wasted about a day trying to figure a similar problem.

I eventually had to use a dependency walker to figure it out. When something goes wrong with .NET is really difficult to figure out what happened. .NET still shows its young age.

Elson 11:21 AM on 19 Jan 2006

Thats good &)

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
URLs auto-link and some tags are allowed: <a><b><i><p><br><pre>.