We help IT Professionals succeed at work.

Is there is any method to find from where a particular function is being called?????????

priyashree
priyashree asked
on
Medium Priority
246 Views
Last Modified: 2010-04-17
Dear All,
 
    I just want to know if there is any in built function available in c++ to find from where the function is being called within a group of files.

Example :

 class1::f1()
     {
             class2::f2();
      }


   class2:f2()
    {
            //To print from where this function is being called
           // The answer should be ---------  class1::f1()
       }

Comment
Watch Question

Someone correct me if I'm wrong, but this isn't possible.  

You can do several things though

1) pass a pointer to the method if you're looking to call it
2) make a parameter where the caller must pass a string - hokey

Maybe you can tell us what you  are trying to do?
plq

Commented:
I think in DEBUG mode (msvc) you could probably do some calls to inspect the call stack, you might have to go into machine code to inspect it, but if its available to the debugger, its available to you.

Only someone with more than a million points would know how though. c'mon jkr.

Maybe you should post this in the C++ folder
plq

Commented:
why not just add a parameter of "context" to force the caller to identify himself
plq

Commented:
why not just add a parameter of "context" to force the caller to identify himself

Commented:
grep and/or find on unix? Search on MS??

In principle, methods are designed to be called from many places (re-usability). Why do you need to know where it was called from??

As a humorous aside, one software shop insisted we document (INSIDE THE FILE THAT CONTAINED THE SOURCE CODE FOR THE METHOD) where it was called from!!!!!! Imagine the ridiculous logic of that decision!!!!! Every time you used a method from another file, you had to edit it's source file and add the fact that you called it.

CERTIFIED EXPERT
Top Expert 2006
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Hi sunnycoder,

  Thank you very much for your info.


Regards,
priyashree

Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.