Gwinnett, Georgia, Microsoft User Group

See the MeetUp Site for latest news and meeting info!

Our Sponsors

Special Offers For Members

O'Reilly User Group Ad

GGMUG Book Review: Advanced .Net Debugging

5/25/2010 jeffa

Review By Noah Subrin

Book Review of Advanced .Net Debugging

I work for SRA International ( as a Technical Lead managing a team of .Net developers. In my role, I am deeply interested in topics that will enhance our team’s software development process. When I recently had the opportunity to review ‘Advanced .Net Debugging ‘by Mario Hewardt (Addison Wesley, 2010), I jumped at the chance. I was able to review this book, through my membership and participation in the Gwinnett Georgia, Microsoft User Group ( Despite the book’s title, there is something for all levels of .Net developers including debugging tips and tricks and where to download debugging tools. Junior developers can get a useful inventory of the various tools that are available for debugging to complement the debugger found in Microsoft Visual Studio. Senior developers can gain valuable insight into how to approach difficult bugs caused by interoperability, out of memory exceptions, and thread synchronization problems. The source code for the book is available for download at The purchase of the book also allows the user access to a free online edition through Safari books for 45 days.

The author is a Senior Development Lead with Microsoft and has previously written “Advanced Windows Debugging”. He started working with the Windows team on Windows 98 and is currently working on online management services. His past experience with Windows is evident as he describes how Windows loads native images (for example notepad.exe) as well as managed assemblies. The author gets deep into the nitty gritty details quickly. By the end of the first section, the reader is able to set a breakpoint using Windbg (Win Debug) in the Windows Notepad application.

The book assumes a working knowledge of C#, but an in depth knowledge of the CLR (Common Language Runtime) is not required. The book focuses on 32 bit development and the .Net Framework version 2.0. Features in the latest release of the .Net Framework 4.0 are touched on briefly, but the book was published prior to the release of .Net Framework 4.0 to manufacturing. The samples are in C#; this is something to keep this in mind if you are a VB .Net developer. There also are newer versions of the debugging tools since the time the book was published, which are free to download from Microsoft and other vendors. The book clearly states where users can find the tools referenced in the book.

The book is divided into three sections:

Part 1 contains an Overview of the book including chapters on the tools, CLR Fundamentals, and Basic Debugging tasks. To get a good working knowledge of .Net debugging, readers may focus on these chapters and come away with several nuggets of useful information.

Part 2 focuses on Applied Debugging. There are chapters on the Assembly Loader, Managed Heap and Garbage Collection, thread synchronization, and COM interoperability. Depending on what areas a developer may be interested in the reader may read these in any order, and might only be interested in one or more specific chapter.

Part 3 contains advanced topics. There are chapters on postmortem debugging, Power Tools, and the CLR 4.0. At the time of the books release, Beta 1 of .Net 4.0 was available, so there are possibly modifications to some of the debugging features that were included in the .Net 4.0 RTM release.

Overall, I would recommend the book to all .Net developers. New developers may find it somewhat daunting at first, but after working through the code samples, there is some information every developer can use. The focus on the underlying .Net framework internals helps developers understand concepts like memory management, garbage collection, and thread synchronization, regardless of whether the developer is interested in debugging or not. The discussion of the various available debugging tools alone is worth reading.

The only significant suggestion I have is that the book be updated to include more information on .Net 4.0 tools and functions to make it more up to date. The author also seems to assume some familiarity with a lot of the debugging tools, so plan on spending some time getting acquainted with them. There are not a lot of books written on this topic, so serious .Net developers should consider adding this book to their library.

Good Deal On O'Reilly E-Book TODAY ONLY

5/20/2010 jeffa

I don't normally send things like this out via the GGMUG email, but I thought enough of you would be interested that you wouldn't mind.

For today only (May 21, 2010) you can pick one of 2,000 eBooks from O'Reilly for $9.99. Just enter the code FAVFA in the checkout cart. Microsoft Press books are NOT included in this offer.

Here's the link to get your book.

Many of the books are DRM-free and come in up to 4 formats: PDF, .epub, Kindle-compatible .mobi, and Android .apk.

This sounds to me like a great deal, so I thought I'd pass it along.

GGMUG Alert: May Meeting- Thursday 5/13/2010

5/9/2010 jeffa

Developing For Windows Phone 7

The iPhone is great. Everyone loves the iPhone, right? If you want to develop and sell mobile apps it is a fabulous environment... except you need a Mac (or a hackintosh). And you have to develop in Objective C. Maybe you can use Mono. Maybe that won't be allowed to since it it officially NOT APPLE. And you're only allowed to develop approved apps (*cough* Adobe Flash *cough*). And best of all... There's An App For That. Probably 50 apps. For just about anything you can think of.

What's a developer to do? One option is Windows Phone 7.

Windows Phone 7 is one of the boldest moves by Microsoft in years. They beat the mantra "a phone is not a desktop" into their developers' heads and created a device unlike anything they have brought to market before. Well, except the ZuneHD... but that's a GOOD thing.

Come Learn How To Get Started

Sergey Barskiy will be our speaker this time and will be giving us an introduction to Windows Phone 7 development.

Sergey is a frequent speaker at our group who always brings a deep understanding of the technology at hand.

Sergey is also a Principal Consultant with Magenic

Same Bat-Time, Same Bat-Channel

Our meeting will be in our usual time and place:

I hope everyone will come out to hear this great talk about an exciting new platform for .Net development!

Register For ReMIX NOW!!!

4/21/2010 jeffa

Time's Running Out!

You only have a few more days to register for ReMIX at the $25 rate.

If you couldn't make it to MIX this year, the next best thing is ReMIX. You'll see all the cool new stuff coming from Microsoft and take some deep dives into the hottest technologies like Windows Phone 7 and Silverlight 4.

Register By April 27th For Early Bird Discount

The event is May 8, and costs $35 BUT if you register by April 27 the cost is cut to $25.

Check out the ReMIX Atlanta 2010 website for more details and to register.