*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> atom_application_navigation (5)              
Title
Content
Arch
Section
 

atom_application_navigation(5)

Contents


NAME    [Toc]    [Back]

       atom_application_navigation, GetFirstObj, GetLastObj, GetNextObj,
 GetPrevObj, GetFirstObjProc, GetLastObjProc, GetNextProc,
  GetPrevProc,  GetFirstEntry, GetLastEntry, GetNextEntry,
 GetPrevEntry, GetEntryProc, GetEntryBlock, GetFirstBlock,
 GetLastBlock, GetNextBlock, GetPrevBlock, GetFirstInst,
 GetLastInst, GetNextInst, GetPrevInst,  GetProcObj,
  GetBlockProc,  GetInstBlock,  GetInstBranchTarget -
       Allows an Atom  tool's  instrumentation  routine  to  find
       locations in an application program

SYNOPSIS    [Toc]    [Back]

       #include <cmplrs/atom.inst.h>

       Obj *GetFirstObj(
               void ); Obj *GetLastObj(
               void ); Obj *GetNextObj(
               Obj * ); Obj *GetPrevObj(
               Obj * ); Proc *GetFirstObjProc(
               Obj * ); Proc *GetLastObjProc(
               Obj * ); Proc *GetNextProc(
               Proc * ); Proc *GetPrevProc(
               Proc * ); Entry *GetFirstEntry(
               Proc * ); Entry *GetLastEntry(
               Proc * ); Entry *GetNextEntry(
               Entry * ); Entry *GetPrevEntry(
               Entry * ); Proc *GetEntryProc(
               Entry * ); Block *GetEntryBlock(
               Entry * ); Block *GetFirstBlock(
               Proc * ); Block *GetLastBlock(
               Proc * ); Block *GetNextBlock(
               Block * ); Block *GetPrevBlock(
               Block * ); Inst *GetFirstInst(
               Block * ); Inst *GetLastInst(
               Block * ); Inst *GetNextInst(
               Inst * ); Inst *GetPrevInst(
               Inst * ); Inst *GetInstBranchTarget(
               Inst * ); Obj *GetProcObj(
               Proc * ); Proc  *GetBlockProc(
               Block * ); Block *GetInstBlock(
               Inst * );

DESCRIPTION    [Toc]    [Back]

       Atom's application navigation routines allow an instrumentation
 routine to locate areas of an application that  are
       interesting to monitor or analyze.

       You  can  use  these  routines  only  from  an Atom tool's
       instrumentation file. See atom(1)  for  a  description  of
       Atom.

       Atom  allows you to view an application with the following
       granularity: The entire application, including all  shared
       libraries.    Either  the  main  executable  or  a  shared
       library.  An object comprises a list of procedures and has
       it own set of attributes (for example, each object has its
       own name).  A procedure.  A main or alternate entry point.
       A basic block.  An instruction.




                                  Note

       Do  not confuse the term object with an object module produced
 by a compiler.  The two terms are completely different.


       To traverse the list of objects in an application program,
       use the following routines: Use the GetFirstObj or GetLastObj
  routine  to  obtain  a  pointer to the first or last
       object in the program. Nonshared programs, have  only  one
       object.  For call-shared programs, the first object corresponds
 to the main program and the remaining  objects  are
       its  shared  libraries.   Use  the  GetNextObj  routine to
       obtain a pointer to the object that follows the  specified
       Obj.   If the specified Obj is the last object in the program,
 GetNextObj returns a NULL pointer.  Use the  GetPrevObj
  routine  to obtain a pointer to the object that precedes
 the specified Obj.  If  the  specified  Obj  is  the
       first  object  in  the  program, GetPrevObj returns a NULL
       pointer.

                                  Note

       Because the Instrument routine is called for  each  object
       in  the  program,  the  object  traversal  routines in the
       Instrument do not need to be used routine.

       To traverse the list of procedures in an object,  use  the
       following  routines: Use the GetFirstObjProc or GetLastObjProc
 routine to obtain a pointer to  the  first  or  last
       procedure  in the specified Obj.  Use the GetNextProc routine
 to obtain a pointer to the procedure that follows the
       specified  Proc.  If the specified Proc is the last procedure
 in the object, GetNextProc returns  a  NULL  pointer.
       Use  the  GetPrevProc  routine  to obtain a pointer to the
       procedure that precedes the specified Proc.  If the specified
  Proc  is  the first procedure in the object, GetPrevProc
 returns a NULL pointer.

       To traverse the list of entries in a  procedure,  use  the
       following  routines: Use the GetFirstEntry or GetLastEntry
       routine to obtain a pointer to the first or last entry  in
       the  specified  Proc.   Use  the  GetNextEntry  routine to
       obtain a pointer to the entry that follows  the  specified
       Entry.   If  the  specified Entry is the last entry in the
       procedure, GetNextEntry returns a NULL pointer.   Use  the
       GetPrevEntry routine to obtain a pointer to the entry that
       precedes the specified Entry.  If the specified  Entry  is
       the  first  entry in the procedure, GetPrevEntry returns a
       NULL pointer.

       To traverse the list of basic blocks in a  procedure,  use
       the  following routines: Use the GetFirstBlock or GetLastBlock
 routine to obtain a pointer to  the  first  or  last
       basic  block  in the specified Proc.  Use the GetNextBlock
       routine to obtain a pointer to the basic block  that  follows
  the  specified Block.  If the specified Block is the
       last basic block in the procedure, GetNextBlock returns  a
       NULL  pointer.   Use  the GetPrevBlock routine to obtain a
       pointer to the basic block  that  precedes  the  specified
       Block.  If the specified Block is the first basic block in
       the procedure, GetPrevBlock returns a NULL pointer.

       To traverse the instructions in a  basic  block,  use  the
       following  routines:  Use  the GetFirstInst or GetLastInst
       routine  to  obtain  a  pointer  to  the  first  or   last
       instruction  in  the specified Block.  Use the GetNextInst
       routine to obtain a pointer to the instruction  that  follows
  the  specified  Inst.   If the specified Inst is the
       last instruction in the basic block, GetNextInst returns a
       NULL  pointer.   Use  the  GetPrevInst routine to obtain a
       pointer to the instruction  that  precedes  the  specified
       Inst.   If  the specified Inst is the first instruction in
       the basic block, GetPrevInst returns a NULL pointer.

       To navigate between the parts of an application,  use  the
       following routines: Use the GetProcObj routine to obtain a
       pointer to the object that contains  the  specified  Proc.
       Use  the  GetEntryProc  routine to obtain a pointer to the
       procedure that contains  the  specified  Entry.   Use  the
       GetEntryBlock  routine  to  obtain  a pointer to the first
       basic block in the specified Entry.  Use the  GetBlockProc
       routine to obtain a pointer to the procedure that contains
       the specified Block.   Use  the  GetInstBlock  routine  to
       obtain  a  pointer  to  the  basic block that contains the
       specified Inst.  Use the  GetInstBranchTarget  routine  to
       obtain  a pointer to the instruction that is the target of
       Inst.  An error is raised if Inst is not a branch instruction.

RETURN VALUES    [Toc]    [Back]

       These routines return pointers to Obj, Proc, Entry, Block,
       and Inst structures, or NULL pointers, as described in the
       preceding section.

FILES    [Toc]    [Back]

       Header  file  containing external definitions of Atom routines

SEE ALSO    [Toc]    [Back]

      
      
       Commands: atom(1)

       Functions:            atom_application_instrumentation(5),
       atom_application_query(5),    atom_application_symbols(5),
       atom_description_file(5),        atom_instrumentation_routines(5),    atom_object_management(5),   AnalHeapBase(5),
       Thread(5), Xlate(5)

       Programmer's Guide



                                   atom_application_navigation(5)
[ Back ]
 Similar pages
Name OS Title
ProcName Tru64 Allows an Atom-tool instrumentation routine to obtain information about the parts of an application ...
GetObjInfo Tru64 Allows an Atom-tool instrumentation routine to obtain information about the parts of an application ...
ProcPC Tru64 Allows an Atom-tool instrumentation routine to obtain information about the parts of an application ...
GetObjInstArray Tru64 Allows an Atom-tool instrumentation routine to obtain information about the parts of an application ...
GetObjInstCount Tru64 Allows an Atom-tool instrumentation routine to obtain information about the parts of an application ...
ProcFileName Tru64 Allows an Atom-tool instrumentation routine to obtain information about the parts of an application ...
IsInstType Tru64 Allows an Atom-tool instrumentation routine to obtain information about the parts of an application ...
IsBranchTarget Tru64 Allows an Atom-tool instrumentation routine to obtain information about the parts of an application ...
ProcGP Tru64 Allows an Atom-tool instrumentation routine to obtain information about the parts of an application ...
GetInstRegUsage Tru64 Allows an Atom-tool instrumentation routine to obtain information about the parts of an application ...
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service