I guess there are less free programs for Windows than commercial. I just found Cppcheck and I think it's quite nice. It's checking some stuff that the compiler might not warn about, like out-of-scope variables, member variable initialization and also tells which functions could be const.
A profiler could be nice, but is there a free one for Windows? Well, I could even get a commercial if it's not too expensive..