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

Posted on 2004-04-01
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 :


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

Question by:priyashree

Expert Comment

ID: 10734520
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?

Expert Comment

ID: 10735386
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

Expert Comment

ID: 10735395
why not just add a parameter of "context" to force the caller to identify himself
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.


Expert Comment

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

Expert Comment

ID: 10735709
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.

LVL 45

Accepted Solution

sunnycoder earned 50 total points
ID: 10738681
macros __FILE__ __FUNCTION__ __LINE__ give the names of current source file, current function and line number ... If you can use them it will be easy enough for you ...

It is possible to retrieve the name of the function from which current function was called but that would need reading the function call stack and getting the name from there ... As you might have guessed, it be highly implementation specific ... I do not think there is an API for this

Author Comment

ID: 10738842
Hi sunnycoder,

  Thank you very much for your info.



Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
zeroMAx challenge 20 76
noX challenge 17 76
topping3 challenge 14 48
groovy example issue 10 65
This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
If you’re thinking to yourself “That description sounds a lot like two people doing the work that one could accomplish,” you’re not alone.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now