Question: These day I come up with a large software. 

I have to debug in Visual Studio 2008.

The steps I take are:

1. Using callstack window to find the code blocks that I i thinks it may have bugs.
2. Using Immediate windows to call some local functions to see whether the data structures
in this blocks are correct.
3. When I got the result in step 2,I have to go to step 1 to find the source of the bug
using callstack again.

What is your favorite method to debug large or small program in Visual Studio?

I don't think to run whole the program and watch all the related data structure is 
good way to debug.

Answer: 
My favourite way when being introduced to a large application:  

- Always: "Read all the code" end to end (this is the most interesting)  

- Bookmark the central parts of the code.  

- Refactor & write test while debugging
The important point about debugging in my opinion is to form a theory about where the bug may be. In other words try to look at the code and think about the problem before launching the debugger.

I asked a [similar question](https://stackoverflow.com/questions/366453/best-practices-for-debugging), so you may want to check the answers to that as well.