109 retain_offset = next_retain_offset; |
109 retain_offset = next_retain_offset; |
110 } |
110 } |
111 } |
111 } |
112 |
112 |
113 extern int CheckRetainBuffer(void); |
113 extern int CheckRetainBuffer(void); |
|
114 extern void InitRetain(void); |
114 |
115 |
115 void __init_debug(void) |
116 void __init_debug(void) |
116 { |
117 { |
117 /* init local static vars */ |
118 /* init local static vars */ |
118 buffer_cursor = debug_buffer; |
119 buffer_cursor = debug_buffer; |
119 retain_offset = 0; |
120 retain_offset = 0; |
120 buffer_state = BUFFER_FREE; |
121 buffer_state = BUFFER_FREE; |
|
122 InitRetain(); |
121 /* Iterate over all variables to fill debug buffer */ |
123 /* Iterate over all variables to fill debug buffer */ |
122 if(CheckRetainBuffer()) |
124 if(CheckRetainBuffer()) |
123 __for_each_variable_do(RemindIterator); |
125 __for_each_variable_do(RemindIterator); |
124 retain_offset = 0; |
126 retain_offset = 0; |
125 } |
127 } |
126 |
128 |
127 extern void InitiateDebugTransfer(void); |
129 extern void InitiateDebugTransfer(void); |
|
130 extern void CleanupRetain(void); |
128 |
131 |
129 extern unsigned long __tick; |
132 extern unsigned long __tick; |
130 |
133 |
131 void __cleanup_debug(void) |
134 void __cleanup_debug(void) |
132 { |
135 { |
133 buffer_cursor = debug_buffer; |
136 buffer_cursor = debug_buffer; |
134 InitiateDebugTransfer(); |
137 InitiateDebugTransfer(); |
|
138 CleanupRetain(); |
135 } |
139 } |
136 |
140 |
137 void __retrieve_debug(void) |
141 void __retrieve_debug(void) |
138 { |
142 { |
139 } |
143 } |