diff -r 4ba27ed51e48 -r b7e610672eed targets/plc_debug.c --- a/targets/plc_debug.c Fri Apr 03 17:08:13 2015 +0200 +++ b/targets/plc_debug.c Mon Jun 15 10:19:52 2015 +0200 @@ -111,6 +111,7 @@ } extern int CheckRetainBuffer(void); +extern void InitRetain(void); void __init_debug(void) { @@ -118,13 +119,19 @@ buffer_cursor = debug_buffer; retain_offset = 0; buffer_state = BUFFER_FREE; + InitRetain(); /* Iterate over all variables to fill debug buffer */ - if(CheckRetainBuffer()) + if(CheckRetainBuffer()){ __for_each_variable_do(RemindIterator); + }else{ + char mstr[] = "RETAIN memory invalid - defaults used"; + LogMessage(LOG_WARNING, mstr, sizeof(mstr)); + } retain_offset = 0; } extern void InitiateDebugTransfer(void); +extern void CleanupRetain(void); extern unsigned long __tick; @@ -132,6 +139,7 @@ { buffer_cursor = debug_buffer; InitiateDebugTransfer(); + CleanupRetain(); } void __retrieve_debug(void)