I have some very large C files, having lots of functions. I need to trace the execution path at run time. There is no way I can trace it through debugging as its a hyperviso
Here is a nice example of what you want.
Just pass -finstrument-functions to gcc when compiling. See the gcc(1) man page for details.
-finstrument-functions
gcc(1)