Re: Figuring out which functions and procedures get called [message #33649] |
Sat, 11 January 2003 16:51 |
rmoss4
Messages: 21 Registered: October 2002
|
Junior Member |
|
|
I'd suggest using idlde and choosing Run->Profile...
This will show you the amount of time spent in every user and system
function or procedure in you program. It's very handy for speed
optimization work.
Robert Moss, PhD
rmoss4@houston.rr.com
K Banerjee wrote:
> Folks,
>
> I need to figure out which functions and procedures get called
> when using a particular IDL procedure. Is there some straight
> forward way to do this in IDL?
>
> I use IDl 5.3 on Linux.
>
> Thanks.
>
> K. Banerjee
>
|
|
|
Re: Figuring out which functions and procedures get called [message #33658 is a reply to message #33649] |
Sat, 11 January 2003 03:40  |
R.Bauer
Messages: 1424 Registered: November 1998
|
Senior Member |
|
|
K Banerjee wrote:
> Folks,
>
> I need to figure out which functions and procedures get called
> when using a particular IDL procedure. Is there some straight
> forward way to do this in IDL?
>
> I use IDl 5.3 on Linux.
>
> Thanks.
>
> K. Banerjee
>
Dear K
I believe you are looking for something like our helpon or the
resolve_dependencies routines.
helpon,'get_dir',/info
FILE_EXIST
/usr/local/icg/icg/idl_source/idl_work/aaa/file_exist.pro
2002-11-27 16:32:49
GET_TEMPLATE_ONE_VALUE
/usr/local/icg/icg/idl_source/idl_links/get_template_one_val ue.pro
2002-07-18 13:18:51
STR_SEP /usr/local/idl/idl/lib/obsolete/str_sep.pro
2001-08-29 13:08:28
GET_DIR
/usr/local/icg/icg/idl_source/idl_work/rb_lib/get_dir.pro
2001-06-14 16:02:32
REPLACE_STRING
/usr/local/icg/icg/idl_source/idl_links/replace_string.pro
2001-02-13 16:08:30
BUILD_VECTOR
/usr/local/icg/icg/idl_source/idl_links/build_vector.pro
2000-06-18 08:07:48
CALL_HELP
/usr/local/icg/icg/idl_source/idl_links/call_help.pro
1999-11-06 16:44:28
http://www.fz-juelich.de/icg/icg-i/idl_icglib/idl_source/idl _html/dbase/download/helpon.tar.gz
idl binary
http://www.fz-juelich.de/icg/icg-i/idl_icglib/idl_source/idl _html/dbase/download/helpon.sav
resolve_dependencies,'combine_path_file',/clearsav,/clearbat ,database='/tmp/base.sav'
BUILD_VECTOR P
/usr/local/icg/icg/idl_source/idl_links/build_vector.pro
CALL_HELP,REVERSE
CALL_HELP F
/usr/local/icg/icg/idl_source/idl_links/call_help.pro
GET_TEMPLATE_ONE_VALUE,REVERSE,STR_SEP
COMBINE_PATH_FILE F
/usr/local/icg/icg/idl_source/idl_work/fr_lib/combine_path_f ile.pro
REPLACE_STRING,REVERSE
FILE_EXIST F
/usr/local/icg/icg/idl_source/idl_work/aaa/file_exist.pro
CALL_HELP,REVERSE
GET_TEMPLATE_ONE_VALUE F
/usr/local/icg/icg/idl_source/idl_links/get_template_one_val ue.pro
BUILD_VECTOR CALL_HELP,FILE_EXIST,REPLACE_STRING,REVERSE
REPLACE_STRING F
/usr/local/icg/icg/idl_source/idl_links/replace_string.pro
CALL_HELP,REVERSE
REVERSE F /usr/local/idl/idl/lib/reverse.pro
STR_SEP F /usr/local/idl/idl/lib/obsolete/str_sep.pro
REVERSE
http://www.fz-juelich.de/icg/icg-i/idl_icglib/idl_source/idl _html/dbase/download/resolve_dependencies.tar.gz
idl binary
http://www.fz-juelich.de/icg/icg-i/idl_icglib/idl_source/idl _html/dbase/download/resolve_dependencies.sav
Please have a look for further routines and licensing at
http://www.fz-juelich.de/icg/icg-i/idl_icglib/idl_lib_intro. html
On the databse icons you can see the results of the last routine
Cheers
Reimar
--
Reimar Bauer
Institut fuer Stratosphaerische Chemie (ICG-I)
Forschungszentrum Juelich
email: R.Bauer@fz-juelich.de
------------------------------------------------------------ -------
a IDL library at ForschungsZentrum Juelich
http://www.fz-juelich.de/icg/icg-i/idl_icglib/idl_lib_intro. html
============================================================ =======
|
|
|
Re: Figuring out which functions and procedures get called [message #33661 is a reply to message #33658] |
Fri, 10 January 2003 12:46  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
K Banerjee (kbanerjee@ucwphilly.rr.com) writes:
> I need to figure out which functions and procedures get called
> when using a particular IDL procedure. Is there some straight
> forward way to do this in IDL?
Why do I have a bad feeling about answering this question? :-(
OK, two ideas come immediately to mind.
1. Read the darn thing. Most well-written IDL procedures
are less than 100,000 lines long. :-)
2. Start IDL and compile the procedure in question. Then
type "Resolve_All". Now you have a list of all the
*user* IDL routines the procedure calls. Add to that
any of the system routines it calls (may have to read
it after all), and you have the list.
If you wanted to find out which of several identically named
procedures were called by this routine, you could upgrade
to IDL 5.4 and use File_Which. Or, if you just wanted to find
out which user routines were used in a program, you could type
Help, /Source.
Maybe that gives you some ideas.
Cheers,
David
P.S. Let's just say I'm afraid to ask *why* you need this
information. :-)
--
David W. Fanning, Ph.D.
Fanning Software Consulting, Inc.
Phone: 970-221-0438, E-mail: david@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
|
|
|