Solved

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

Posted on 2004-04-01
9
215 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()
       }

0
Comment
Question by:priyashree
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
9 Comments
 
LVL 1

Expert Comment

by:spintheblack
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?
0
 
LVL 8

Expert Comment

by:plq
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
0
 
LVL 8

Expert Comment

by:plq
ID: 10735395
why not just add a parameter of "context" to force the caller to identify himself
0
Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

 
LVL 8

Expert Comment

by:plq
ID: 10735396
why not just add a parameter of "context" to force the caller to identify himself
0
 
LVL 3

Expert Comment

by:eicheled
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.

0
 
LVL 45

Accepted Solution

by:
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
0
 

Author Comment

by:priyashree
ID: 10738842
Hi sunnycoder,

  Thank you very much for your info.


Regards,
priyashree

0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
Simple Linear Regression
Progress

623 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