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); |
|
126 }else{ |
|
127 char mstr[] = "RETAIN memory invalid - defaults used"; |
|
128 LogMessage(LOG_WARNING, mstr, sizeof(mstr)); |
|
129 } |
124 retain_offset = 0; |
130 retain_offset = 0; |
125 } |
131 } |
126 |
132 |
127 extern void InitiateDebugTransfer(void); |
133 extern void InitiateDebugTransfer(void); |
|
134 extern void CleanupRetain(void); |
128 |
135 |
129 extern unsigned long __tick; |
136 extern unsigned long __tick; |
130 |
137 |
131 void __cleanup_debug(void) |
138 void __cleanup_debug(void) |
132 { |
139 { |
133 buffer_cursor = debug_buffer; |
140 buffer_cursor = debug_buffer; |
134 InitiateDebugTransfer(); |
141 InitiateDebugTransfer(); |
|
142 CleanupRetain(); |
135 } |
143 } |
136 |
144 |
137 void __retrieve_debug(void) |
145 void __retrieve_debug(void) |
138 { |
146 { |
139 } |
147 } |