RSS
Facebook
Twitter

Tuesday, December 23, 2008

Two Free Tools for Deadlock Detection

disclaimer - I work at Typemock and I am part of the Racer development team.

I saw a post today on Dev102.ComFree Tool for Managed and Unmanaged Deadlock Detection.

The post is about a Visual Studio extension that help developer of managed and unmanaged code debug threaded code - Debug Inspector.

debuginspector

This extension enable viewing of thread and synchronization objects (such as locks) currently on the debugged application. I think that multi threaded programming is a must now that every simple desktop has at least two cores. The more concurrent programming becomes mainstream and well used the more tools (and languages) that help write better code shall appear.

There is one problem with using this extension – it helps see the deadlock the code is at right now and cannot find all of the deadlocks in the nor can it guarantee that our code is “deadlock free”.

Another deadlock finding tool I know very well is Typemock Racer which is free for now (At least until the Beta release) .

Racer uses both static and dynamic analysis to find deadlocks in managed code. And so by using Racer a developer can find all of the deadlocks in his code.

But unlike the Debug Inspector Racer cannot find deadlocks in unmanaged code and it cannot analyze continuous running code (endless loop).

 

So it seems that no “master tool” exist yet. Until such tool arrive we can use both tools together to write better multi-threaded code.

Wednesday, December 17, 2008

#Develop – The open source .NET IDE

Every .NET developer I know use Visual Studio at his work to develop applications. But what IDE can a software developer developing his own a hobby/open source project use?

I use #Develop for most of my hobby projects (although from time to time I use VS Express as well).image

In case you’re wondering what #Develop is all about – it’s a free open source IDE for developing .NET applications using C#, VB & BOO.

image

#Develop has everything you’d expect from a .NET IDE: code completion,  debugger, syntax highlight, class diagram (like the one VS has) , form designer, XML editor etc.

It has additional  features that I miss in VS such as XML Doc preview and Code conversion (VB <—> C#).

Integration with several known tools:

  • FxCop – Code analysis.
  • StyleCop – Source code Analysis.
  • Wix – for windows installer creation.
  • Subversion – one of the best revision control tools available.
  • NUnit – you can run unit tests directly from the IDE – real TDD style.

image

But it doesn’t end there – You can also use it to write F# and Iron Python code as well!

image

A truly amazing product for the hobbyist developer.

Friday, December 12, 2008

Four podcasts every .NET developer should know about

I believe that a big part of a software developer job is to stay updated by constantly learning about new technologies, software development methodologies and  developer’s tools.

 

One way of achieving this goal is by listening to podcasts. I usually listen to on my MP3 player on my way to work and back.

In the beginning I used to listen to one podcast (Hanselminutes – see below) but after I run out of episodes to listen to I’ve started looking for other podcasts about .NET and software development that I can learn from. Nowadays I don’t even listen to radio anymore because I have so much podcasts and my trip to work lasts only 20 minuets.

 

Right now I listen to the following podcasts weekly basis:

pic_podcast_463_full

 

What podcasts are do you listen to?

Monday, December 08, 2008

How to convert a .NET class library to MS-Test project

In the past I used NUnit for all my unit testing needs it was free and worked fine. Creating a test class all I needed to do was to create a class library (dll) and add the needed attributes and start writing my tests.

Now I use Microsoft's testing framework that shipped with Team System as a part of my unit testing solution and every now I make the mistake of creating a class library instead of a Test Project. This time adding MS-Test attribute (TestClass) doesn’t help – Visual Studio doesn’t recognize the test and I can’t run it.

In case you make the mistake of creating a class library instead of a test project you can do one of the two things:

  1. Delete the project and re-create it
  2. Read below…

To convert a class library to Test project follow these four simple steps:

  1. Unload the project (.prj) file and then open it for update.
  2. add the following line to the project
    C# - <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    VB - <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
  3. Re-load the project back
  4. Run you (now working) tests

 

Simple isn’t it?

Sunday, December 07, 2008

Z-Screen - open source screen capture tool

image

Screen capture application has become a must since I've started blogging, and I've used a few different screen capture tools to see which fits my needs (perhaps I'll write a blog post about it someday).

Today I found out about a new open source tool called Z-Screen its easy to use and has a lot of customization options.

  • It supports full screen, active window and crop regions.
  • Several options to where to save to your images to (directory, FTP, Image shack).
  • Custom automatic naming convention.

This application seems like a good alternative to similar commercial product.

If you have a need to take screen shots go to Z-Screen site and try it today.

Related Posts Plugin for WordPress, Blogger...