Saturday, January 28, 2006

DILE v0.2.1

2 days ago, on Thursday I've uploaded the new 0.2.1 version of DILE to SourceForge.

The zip file:

By the way, I won't use this "alpha-beta etc." naming in the future. I think it's rather useful for big, well-planned projects and not for such small ones like DILE. From a version number like 0.2.1 it's easier to see how big can be the difference between the new and the old version and also easier to follow the changes.

Anyway, there are 4 important improvements:
  • Maximized the length of a node's title (in Project Explorer) to 1024 characters. The TreeView control seems to freeze if a node's title is too long...
  • Significantly decreased memory consumption of loaded assemblies.
  • Added font settings. (Jason Haley is going to use DILE in his presentation, called Practical Disassembling and he might need this feature)
  • Added setting to associate/dissociate the .dileproj extension with DILE.

The first change is rather a bug fix, and later, in another post I'll explain why I made it. The last two should make using DILE easier. But I think the memory usage reduction is really important.
In previous versions loading the v2.0.5727 mscorlib.dll could take 10+ seconds and use ~80 MB of memory. This was really ridiculous. In the new 0.2.1 version the same thing takes ~2 seconds and uses ~28 MB of memory. This is still quite bad but already made DILE lot more usable. And just a side-note, first I tried to use the CLR Profiler to find unused objects but I didn't find it very useful. Maybe only I used it incorrectly--I don't know; but windbg and SOS helped me a lot more.


Anonymous Jason Haley said...

Thanks for the updated release, works great! I've been stepping though some ASP.Net assemblies and I think I need to upgrade to 2G of Ram due to all the assemblies that are loaded with asp ;)

Fantastic work!

Sunday, January 29, 2006 at 1:56:00 PM GMT+1  
Blogger Zsozso said...

I know. :-(
My computer has 512 MB RAM. Once I tried to load every managed dll from the v2.0.50727 folder but as I remember I killed DILE (v0.2) after it used more than 600 MB of memory and still wasn't ready. Now I tried the same with the v0.2.1 DILE and it took ~1.5 min and occupied 285 MB of memory. This is still a lot, but more bearable, I think. Of course, if a method's code is viewed, memory consumption will increase... :-(
Anyway, I still have a few ideas to decrease the memory usage. ;-)

Btw, I plan to put 1 more feature in DILE: the ability to open and debug dynamic assemblies. It seems to be possible and it can be useful in case of debugging ASP.NET applications...

Sunday, January 29, 2006 at 5:54:00 PM GMT+1  
Anonymous storedenen said...

I've tested it!
Great, but true... :)
It works correctly. I've tested it with two project, using opengl... :)

Thursday, February 16, 2006 at 11:03:00 PM GMT+1  
Blogger Zsozso said...

Thanks a lot. I hope you'll find DILE useful.
Let me know if you find any bug in it or you miss something from the program. ;-)

Sunday, February 19, 2006 at 7:35:00 PM GMT+1  

Post a Comment

<< Home