1BEH_DEBUG(3)                     BHL functions                    BEH_DEBUG(3)
2
3
4

NAME

6       beh_debug - BEH structures displayer-debugger
7
8

SYNOPSIS

10       void beh_debug (pnt, type)
11       void *pnt;
12       char *type;
13
14

PARAMETERS

16       pnt       pointer of the structure to be displayed
17
18       type      name  of  the  structure  to be displayed. type can be any of
19                 "befig",  "beout",  "bereg",   "bemsg",   "bepor",   "begen",
20                 "berin",   "bebus",   "beaux",  "bebux",  "biabl",  "binode",
21                 "beder", "bequad", "abl", "integer", "long", "short",  "char‐
22                 acter", "ptype", "chain"
23
24

DESCRIPTION

26       When  called,  beh_debug() displaies the structure pointed by pnt then,
27       prints the line:
28
29              COMMAND   >>
30
31       and waits for a command being entered by the user. If  pnt  is  a  NULL
32       pointer  or type doesn´t represent a known structure, beh_debug() exits
33       without making any action.
34
35
36       To display the structure, beh_debug() prints a line per  field.  Fields
37       containing  immediate  value (integer, character, string, ...) are dis‐
38       played in the following form:
39
40              name_of_the_field  :  value_of_the_field
41
42
43       Fields containing a pointer are marked by the symbol ->. If  the  field
44       contains a NULL pointer, the field is displayed as:
45
46              -> name_of_the_field  :
47
48       In the other case, beh_debug() prints :
49
50              -> name_of_the_field  :  available
51
52
53       Two kinds of command are accepted by the displayer.
54
55
56       A  command can be the name of a field containing a pointer. The command
57       is accepted only if the pointer is not a NULL pointer (field  displayed
58       as  "available").  When  the debugger receives such a command, it first
59       pushes the current structure on its stack then, displaies the structure
60       pointed by the named field.
61
62
63       The second kind of commands are predefined commands :
64
65
66              _exit     to exit from the debugger
67
68              _up       to return to the previous structure
69
70              _stop     to put a stop mark on the current structure
71
72              _top      to return to the first structure (pointed by pnt)
73
74              _back     to  return  to  the  last structure marked with a stop
75                        mark
76
77              _save     to save the current structure in a  static  table.  At
78                        most  10 structures may be saved. (example : "_save 1"
79                        saves the current structure in the entry number  !  of
80                        the table)
81
82              _jump     to  jump  to  a  saved  structure (example : "_jump 1"
83                        dislpaies the etructure save in the entry number 1  of
84                        the table).
85
86              _display  displaies  a  field  under  a given format. (example :
87                        "_display next integer" displaies the field named next
88                        as an integer).
89
90
91       In  addition  to  these  commands,  the  command . (dot) can be used to
92       repete the last command.
93
94

EXAMPLE

96       #include <beh109.h>
97       struct beout *beout_pnt;
98
99       beh_debug (beout_pnt , "beout");
100
101

NOTES

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

SEE ALSO

108       beh(3)
109
110
111
112
113
114
115ASIM/LIP6                       October 1, 1997                   BEH_DEBUG(3)
Impressum