Source Insight is one of the popular commercial Code Browsers and Analyzers for for C/C++, C#, and Java. So is Understand another commercial tool. They are good but not cheap. If you are free tools guy or a small time developer who can not afford such tools, there are some alternatives. Of course, improvements are required for these free tools but they are good enough to start with.
Code::Blocks is a free C++ IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable. Built around a plugin framework, Code::Blocks can be extended with plugins. Any kind of functionality can be added by installing/coding a plugin. Compiling and debugging functionality is already provided by plugins!
Disadvantage is it supports just C++. More is here.
Source-Navigator is a source code analysis tool. With it, you can edit your source code, display relationships between classes and functions and members, and display call trees. Check it out.
Some more resources (via Stack overflow)
And another one that explains why VI