Problem: Debug VS Run Mode

Dear All,

My dynamic c program is behaving in a weird way. When I debug the code it shows me no errors in my outputs; however, when I run it, it print my outputs with some mal characters.

Isn’t Debug is just Like run? Am wondering why am receiving different outputs in these modes.


#use rcm3100.lib

#define BINBUFSIZE  255
#define BOUTBUFSIZE 255

#define CINBUFSIZE  255
#define COUTBUFSIZE 255

void main()
{
	int c, n;
   auto int i, ch;
   static const char string1[] = {"BThis message has been Rcv'd from serial port B !!!

\r"};
	static const char string2[] = {"CThis message has been Rcv'd from serial port C !!!

\r"};
	auto char buffer[64];//buffer used for serial data
   char s[64];
   i = 0;
   c = 0;
	// This is necessary for initializing RS232 functionality of LP35XX boards.
	brdInit();


   //open serial ports B & C, initialize them by setting baud rate
   serBopen(19200);
   serBwrFlush();
   serBrdFlush();

   serCopen(19200);
   serCwrFlush();
   serCrdFlush();

   // Clear data buffer
   memset(buffer, 0x00, sizeof(buffer));
   memset(s, 0x00, sizeof(s));

   loopinit();
   while (1)
   {
   	loophead();
   	costate{
         	memcpy(buffer, string2, strlen(string2));
   			wfd cof_serCputs(buffer);
            memset(buffer, 0x00, sizeof(buffer));

            wfd n = cof_serBread(buffer, sizeof(buffer),20);

            serBrdFlush();
            serCwrFlush();

            wfd cof_serBputs(buffer);
            printf("%s", buffer);

            serBwrFlush();
            serCrdFlush();

            memset(buffer, 0x00, sizeof(buffer));
      }

     costate{
            memcpy(s, string1, strlen(string1));
            wfd cof_serBputs(s);
            memset(s, 0x00, sizeof(s));

            wfd n = cof_serCread(s, sizeof(s),20);

            serBwrFlush();
            serCrdFlush();

            wfd cof_serCputs(s);
            printf("%s", s);

            serCwrFlush();
            serBrdFlush();

           //memset(buffer, 0x00, sizeof(buffer));
      }
    }
   serBclose();
   serCclose();
}

Thank you.

-SK