Depends on the language of the codebase, but there are various tools that can help you, like doxygen if things are setup well.
My two cents, I always do a manual mapping for the modules and key classes, even in large code bases because it forces me to learn the codebase and create documentation at the same time. I do this by literally starting at main() and tracing the code to what is called first etc. So when I am done I have a high level overview of the path through the code and what modules are what and what they do.
Usually takes a few days to do a larger code base, largest one took me 2 weeks. It isn't the most fun work, but it lets you build documentation to save yourself and others later too.