Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
BEH_DEBUG(3)			 BHL functions			  BEH_DEBUG(3)

       beh_debug - BEH structures displayer-debugger

       void beh_debug (pnt, type)
       void *pnt;
       char *type;

       pnt	 pointer of the	structure to be	displayed

       type	 name  of  the	structure  to be displayed. type can be	any of
		 "befig",  "beout",  "bereg",	"bemsg",   "bepor",   "begen",
		 "berin",   "bebus",   "beaux",	 "bebux",  "biabl",  "binode",
		 "beder", "bequad", "abl", "integer", "long", "short",	"char-
		 acter", "ptype", "chain"

       When  called,  beh_debug() displaies the	structure pointed by pnt then,
       prints the line:

	      COMMAND	>>

       and waits for a command being entered by	the user. If  pnt  is  a  NULL
       pointer	or type	doesn't	represent a known structure, beh_debug() exits
       without making any action.

       To display the structure, beh_debug() prints a line per	field.	Fields
       containing  immediate  value (integer, character, string, ...) are dis-
       played in the following form:

	      name_of_the_field	 :  value_of_the_field

       Fields containing a pointer are marked by the symbol ->.	If  the	 field
       contains	a NULL pointer,	the field is displayed as:

	      -> name_of_the_field  :

       In the other case, beh_debug() prints :

	      -> name_of_the_field  :  available

       Two kinds of command are	accepted by the	displayer.

       A  command can be the name of a field containing	a pointer. The command
       is accepted only	if the pointer is not a	NULL pointer (field  displayed
       as  "available").  When	the debugger receives such a command, it first
       pushes the current structure on its stack then, displaies the structure
       pointed by the named field.

       The second kind of commands are predefined commands :

	      _exit	to exit	from the debugger

	      _up	to return to the previous structure

	      _stop	to put a stop mark on the current structure

	      _top	to return to the first structure (pointed by pnt)

	      _back	to  return  to	the  last structure marked with	a stop

	      _save	to save	the current structure in a  static  table.  At
			most  10 structures may	be saved. (example : "_save 1"
			saves the current structure in the entry number	 !  of
			the table)

	      _jump	to  jump  to  a	 saved	structure (example : "_jump 1"
			dislpaies the etructure	save in	the entry number 1  of
			the table).

	      _display	displaies  a  field  under  a given format. (example :
			"_display next integer"	displaies the field named next
			as an integer).

       In  addition  to	 these	commands,  the	command	. (dot)	can be used to
       repete the last command.

       #include	<beh109.h>
       struct beout *beout_pnt;

       beh_debug (beout_pnt , "beout");

       beh_debug() uses	an internal stack. The	message	 "stack	 overflow"  is
       printed if too many structures have been	pushed on the stack.


ASIM/LIP6			October	1, 1997			  BEH_DEBUG(3)


Want to link to this manual page? Use this URL:

home | help