title: how to trace function call in C?
body: <p><b>Without</b> modifying the source code, how can i trace which functions are called and with what parameters, when some function(say func100 in the following example) is invoked. I would like the output to be as follows:</p>
  
  <pre><code>enter func100(p1001=xxx,p1002=xxx)
          enter func110(p1101=xxx,p1102=xxx)
          exit  func110(p1101=xxx,p1102=xxx)
          enter func120(p1201=xxx,p1202=xxx,p1203=xxx)
                  enter func121(p1211=xxx)
                  exit  func121(p1211=xxx)
          exit  func120(p1201=xxx,p1202=xxx,p1203=xxx)
  exit  func100(p1001=xxx,p1002=xxx)
  </code></pre>
  
  <p>is this doable? or what's the solution with minimum modification of source code?</p>