Yes. In addition, the debugger is excellent.
True, if by "excellent" you mean "barely adequate". Major deficiencies
in the VC6 debugger include:
- It doesn't recognize enums. (This is particularly embarassing for
a modern commercial C debugger.)
- It can't detach from a program being debugged and allow it to
continue running normally.
- It has no text mode - it's GUI-only. Many people prefer GUIs, but
not everyone. An "excellent" debugger would cater to both.
- Some displays (eg watch lists) can only be updated when the
debugged program is not executing.
- Some displays (eg the thread list) are modal dialog boxes instead
of being proper dockable windows.
- Breakpoint positioning is nonsensical in some cases. For example,
in a loop with the body on the same source line as the controlling
statement, the debugger treats the next line of code as part of the
loop for breakpoint-target purposes, so you cannot step past the loop
by setting a breakpoint on that line.
- It's not easily scriptable.
The VC7 debugger fixes some of these, but it's still far from
"excellent".