title: Trace all user defined function calls using gdb
body: <p>I want to trace all the user defined functions that have been called (in order, and preferably with the input params). Is there a way to do this using gdb? OR is there a better free/opensource application out there to do this job?
  Please note that I want to print only the user defined function calls. </p>
  
  <p>for example:</p>
  
  <pre><code>int abc(int a, char b) {
    return xyz(a+b);
  }
  
  int xyz(int theta) {
    return theta * theta;
  }
  </code></pre>
  
  <p>I need the following output:</p>
  
  <p>abc(a, b);
  xyz(theta);</p>
  
  <p>My codebase is pretty huge and is compiled in various pieces and hence I want to avoid using a tool which needs me to compile my source code again with some options enabled.</p>
  
  <p>PS: I found that there are ways where you can define functions in gdb and pass in function names as params to find out there call trace. But in my case the code base is pretty huge and I'm starting off with it, so I'm not even sure what all functions are called etc. It wouldn't be practical to list all the functions in here.</p>
  
  <p>TIA,</p>