blogs.conchango.com

welcome to the conchango blogging site
Welcome to blogs.conchango.com Sign in | Join | Help
in Search

Merrick Chaffer's Blog

TechEd 2007 Barcelona - useful links

The Moth

http://www.danielmoth.com/Blog/2007/11/top-10-things-to-know-about-visual.html - The Moth as he's known, shows us his top ten things to know about visual studio (trust me this is not all about linq)

 

Ingo Rammer - Debugging tools

http://blogs.thinktecture.com/ingo/archive/2006/08/05/414674.aspx - Ingo ("The God") Rammer shows us an interesting application of the use of the windbg tool to get to the bottom of some nasty bugs. Rack up on a client site with just a usb key with the following tools and be able to debug managed (and unmanaged code). 90% of bugs are caused by un garbaged collected objects, Ingo shows us how to find these http://blogs.thinktecture.com/ingo/archive/2006/08/05/414674.aspx.
Tools for use include:

    • Windbg.exe
    • cbd.exe (command line version of above)
    • adplus.vbs -crash -pn notepad.exe (gets  you a crash dump)
    • SOSAssist visually walk through the memory dump files produced, and right cilck to show offending code in .NET Reflector!
    • Hawkeye.exe - http://acorns.com.au/projects/hawkeye/ - kind of like spy++ for managed code applications, lets you modify a running applications button text for example while the application is still running.

This was by far the best technical session I attended at TechEd by the way! Most of the sessions I ended up with half a page of notes, for this one I couldn't stop writing (4 pages of notes generated!)

Roy Osherove

Showed us how to do many wonderful things with Reflection, and System.Reflection.Emit. One of the most pertinent things he did was a CloneWithEmit method that was more performant by a factor of at least 4 times on and 100000 objects with about 9 properties each in a collection. The fact that his first example which he then sped up by using this new methods, looked almost identical to the code I wrote to do exactly that for single line code WCF service translators for data contracts to business entities, was most intriguing.

Also use the new CustomAttributeData.GetCustomAttributes in future as it doesn't invoke the constructors of the attributes, merely returns the object graph structure for what you need in read only format. Assembly.ReflectionOnlyLoad as well is more secure.

Published 08 November 2007 09:37 by merrick.chaffer

Comments

No Comments
Anonymous comments are disabled
Powered by Community Server (Personal Edition), by Telligent Systems