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!

Comments

[gravatar]

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.

[gravatar]

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.

[gravatar]

I wasted about a day trying to figure a similar problem. http://www.baus.net/archives/000107.html

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.

[gravatar]

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>.