1BEH_DEBUG(3) BHL functions BEH_DEBUG(3)
2
3
4
6 beh_debug - BEH structures displayer-debugger
7
8
10 void beh_debug (pnt, type)
11 void *pnt;
12 char *type;
13
14
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
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
96 #include <beh109.h>
97 struct beout *beout_pnt;
98
99 beh_debug (beout_pnt , "beout");
100
101
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
108 beh(3)
109
110
111
112
113
114
115ASIM/LIP6 October 1, 1997 BEH_DEBUG(3)