Page 1 of 1

Usability Issues

Posted: Wed Oct 26, 2011 8:50 pm
by orangy

I'm now using NetMem 4, and analyzing memory of large product again. I already sent a number of crashes, but there are small annoying issues here and there:

1. When I save snapshot, I'd like to see the name immediately updated in Window Title. Also, I'd like Title to first feature name of snapshot and then ".NET Memory Profiler". I can recognize application by its icon, but when I'm looking at task bar to find the right one, I see only first some symbols.

2. Looks like "Run-time graph" setting is not persisted across sessions. It is annoying to hit Next several times, select "No" and then click Finish.

3. Generics are somewhat broken. Call Stacks/Methods tab, on a Methods subtab, I see the following picture. I understand JIT generates different code for value-type-parameterized generics, but can you improve this somehow? Either join them all into single node, or split across different List<A>, List<B>, ... types.

Code: Select all

mscorlib, Version	
			.ctor( IEnumerable<T> )	
			set_Capacity( int )	
			.ctor( int )	49756	
			set_Capacity( int )	
			set_Capacity( int )	
			InsertRange( int,IEnumerable<T> )	
			set_Capacity( int )	
			set_Capacity( int )	
			set_Capacity( int )	
			.ctor( int )	

Re: Usability Issues

Posted: Thu Oct 27, 2011 9:36 pm
by Andreas Suurkuusk
Thanks for the comments. I found two error reports from you. One of them was an issue you had reported about before, but unfortunately we still cannot reproduce it (I think we have received about 5 reports about this issue, of which two are from you). We will continue to investigate it. The other reported issue occurred inside a third party library and seems to be some conflict with GDI+ usage.

1. You're are right, the same of the session and snapshot is more important than ".NET Memory Profiler". We will update this.
2. When you change the settings in the start wizard, the settings are only used for the newly started session. To change the default session settings you need to use the Tools->Options command.
DefaultSettigns.png (45.04 KiB) Viewed 12950 times
3. We will consider adding an option to join generic types and methods into single a type and method (i.e. only List<T>, instead of List<T>, List<int>, List<long> etc.). However, the profiler does not have enough information to split the generic methods into specific class types. A List<string> method and a List<object> method cannot currently be distinguished in the call stacks (as they are using the same JIT-compiled code).