Archive

Posts Tagged ‘.Net C#’

Disassembly for .Net assemblies tool is here – dotPeek(decompile) from JetBrains

May 14th, 2011 No comments

dotPeek from JetBrains (makers of Resharper and many other good developers tools).

As you probably noticed that Reflector (which great tool and useful) not free any more. Here theirs announcement

I in my every day work need such tool that will provide high-quality decompiling capabilities for .Net assemblies.

dotPeek Logo

After some searches in the Internet I have found very promising tool that gives all needed functionality. Tool called dotPeek.

 

Tool is standalone exe file, but it gives look and feel like Visual studio with nice navigation and search features. Hopefuly they will integrate it with Resharper or as additional add-on for VS2010.
Read more…

Categories: .Net, C#, Tools Tags: ,

Deep copy against shallow copy in .Net C# dealing with mutable Structs

May 13th, 2011 No comments

In this post I won’t explain the difference between deep copy and shallow copy, what is reference type and Value type – there are plenty stuff about this in the web. I want to share with you some problematic behavior/bug that we found out in application as a result of luck of understanding in current materials.
This issue can be very tricky and hard to debug in runtime, so we need to be wide-awake.

For example you have very simple struct like follows (holds array of points which describes polygon):

public struct MyPolygon
{
	Point[] points;
}

Read more…

Categories: .Net, C# Tags: ,

Working with System.Timers.Timer causing memory leaks

April 21st, 2011 2 comments

Short preamble,

Recently we had very serious problem with our application written in C#.NET; sometimes it has been completely stuck. This wasn’t easy reproducible scenario. As we started investigate the issue and debugging, more and more interesting things came up (not all code was written by our team, so debugging was not very easy thing). Memory almost wasn’t affected, but there was another symptom: thread count was growing and growing.

Finally the problem was discovered as following:
Read more…

Categories: .Net, C# Tags: , , ,