I was reading a blog post over at Channel 9 about the release of an open source .NET/CLR decompiler. I was wondering as to why would you want to decompile a .NET/CLR application and look at its IL code? I'm just curious.[Edit]And are there any use for decompilers during the development phase?[Edit]I'm a little perverse; I want to know when was the last time you used a decompiler for a software development project, and why?
Why would you want to look at IL code?
development process;low level
I have had to look at it more times than I would care to admit.  The most recent time was because we had to migrate a number of applications to a  new database server.  Included in this set of apps were numerous ones that had a connection string hard-coded and no source in version control.  At that point you have two options, decompile, fix it and recompile or use a host file entry to set how the server name is resolved.  Both are less than ideal although the decompiling route is less detrimental.I also had to use one in lue of documentation for a CMS system that my company purchased.  What documentation the vendor did provide was often times wrong and incredibly incomplete.  Using a decompiler solved a number of problems including revealing a 64 bit related bug that I would have never guessed existed without a decompiler.