hi guys,
if you take over a project which is not documented and composed of lots of header files, code files and libraries, what should you do to understand work flow of the project. and if you need to modify some part of it, what should you do to locate what portion you need to modify.
it is like a real puzzle because all i have an AIX server with many files and i have access to that server using a telnet application on which i can only use commands like cat, vi, grep and find.
any helps will be appreciated.

I am not sure if I understood the your question.
Unordered and random codes are nightmare for the new programmer.It is really unfortunate situation and your are suffering from this.
Now I would advice you to either find that bloody programmer who wrote all that. Or try to scratch your head figuring it out the code. I know it is a trivial advice but in this case I cannot be specific.

Try to put some debugger's output code like:
std::cout<<" The control has reached line 54";
to perhaps fetch a better picture out.

thank you, i found a .chm file generated by doxygen which facilitates seeing function calls and class communication, makes it easier to search for function and macro definitions and creates some visual aids for class structures. i just found it 5 minutes ago, i will dig in it. at least it is better than using grep -r functionName rootApplicationFolder.
worst of all the application is 8 years old, multithreaded, service oriented c++ application. But this is a big challenge, if i able to understand it and solve my tasks, i will be a confident programmer. when you solve some c++ tasks, working with c# feels like child play.

Yet another advice. I have used Doxygen documentation system at initial stage of troubles with (as usually) undocumented third-party projects (from 50000 to 300000 lines in C and/or C++, hundreds of files). You may get a very visible web-oriented report with collaboration and inheritance diagrams, file dependencies, call trees, etc.
Of course, it is a static code analysis product but I think it's a very useful bird's-eye view to others' code chaos.

i think we had a syncronization problem, i just posted that i used doxygen documentation for the project and you advised me to do the same thing :)
thanks anyway :)