HPlogo System Debug Reference Manual > Chapter 10 System Debug Standard Functions

func nmpath

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4 ♥
E0300 Edition 3
E0692 Edition 3

Returns the full NM code path name corresponding to the indicated address.

Syntax



    nmpath (virtaddr [length])

The string returned by NMPATH is one of the following two formats:
  • file_name/module_name:parent_procname.procname

  • or

  • file_name/module_name:procname

Detailed descriptions of each of the above return strings follow:
file_name

The name of the file containing the procedure.

module_name

The name of the module containing the procedure.

parent_procname

The name of the level one procedure containing the nested procedure at the specified address.

procname

The name of the procedure.

Formal Declaration



   nmpath:str (virtaddr:ptr [length:u16=$50])

Parameters


virtaddr

The address for which the symbolic procedure path name is to be returned.

Virtaddr can be a short pointer, a long pointer, or a full logical code pointer.

length

The maximum length of the path name string to be returned. If the path name does not fully fit into the space specified, it is truncated and terminated with an asterisk (*) to indicate the truncation.

Examples



   $nmdebug > wl nmpath( processstudent )
   GRADES.DEMO.TELESUP/processstudent

   $nmdebug > wl nmpath( processstudent+30 )
   GRADES.DEMO.TELESUP/processstudent+$30

   $nmdebug > wl nmpath( processstudent+30, #30 )
   GRADES.DEMO.TELESUP/processst*

The above examples show how NMPATH is used to print out the full path for the procedure processstudent. Notice in the last example that a maximum length of 30 characters is specified, so the full path is truncated and terminated with an asterisk.

   $nmdebug > wl nmpath ( average )
   XL.DEMO.TELESUP/average
   $nmdebug > wl nmpath( P_NEW_HEAP )
   XL.PUB.SYS/p_heap:P_NEW_HEAP

   $nmdebug > wl nmpath( FOPEN )
   NL.PUB.SYS/FOPEN

   $nmdebug > wl nmpath (nmaddr( "highscore" "nested") + 40 ))
   GRADES.DEMO.TELESUP/processstudent.highscore+$40

   $nmdebug > wl nmpath (nmentry (nmaddr("highscore" "nested") + 40))
   GRADES.DEMO.TELESUP/processstudent.highscore

The above examples show how NMPATH is used to print out path names for routines in various libraries and how it may combined with other functions.

Limitations, Restrictions


none




func nmnode


func nmproc