In C and FORTRAN, the debugger uses a straightforward algorithm when displaying a struct or a union. Since this may not be best for large or complex structs, the debugger allows you to define your own display method. To do this, include a routine in your source code with the same name as the struct or union, preceded by an underscore. This routine should take two arguments, which are passed by the debugger: the address of the struct and the size parameter. The default value is -1, and user passable values are 0 (zero) to intMax. For example, if you have a type called struct FLY, then your own routine to dump its contents must be named _FLY.
When you attempt to print the contents of a struct, the debugger checks to see if a routine is defined for that struct. For example, if flyFirst is a struct of type FLY and you enter print /n2 flyFirst, then the debugger first checks for a routine named _FLY. If there is no such routine, then the debugger uses its own algorithm. However if you define such a routine, then the debugger calls that routine, passing a pointer to the struct and the size parameter.
If you define your own routine to print out a struct but prefer to use the debugger's own algorithm in a particular case, use the N format. This format works exactly the same as the n format, except it overrides your custom definition. See "Expression formats" for more information. For example, in the case mentioned above with FLY and flyFirst, if you want to print flyFirst using the debugger's algorithm instead of the one defined in _FLY, enter print/N flyFirst