2. The vTaskList routine doesn’t accommodate task names of varying lengths. I fixed this in my local version of task.c by modifying the ‘prvListTaskWithinSingleList’ function as below. Would be nice if this were in the released version of FreeRTOS. NOTE: Similar change in the function ‘prvGenerateRunTimeStatsForTasksInList’.
/* Copy task name to the output string */
sprintf( pcStatusString, ( char *) "%%-%us", configMAX_TASK_NAME_LEN);
sprintf( &pcStatusString[10], pcStatusString, pxNextTCB->pcTaskName);
strcat( (char *) pcWriteBuffer, (char *) &pcStatusString[10]);
/* Copy remaining items to output string */
sprintf( pcStatusString, ( char * ) "tt%ct%ut%ut%urn", cStatus, ( unsigned int ) pxNextTCB->uxPriority, usStackRemaining, ( unsigned int ) pxNextTCB->uxTCBNumber );
strcat( ( char * ) pcWriteBuffer, ( char * ) pcStatusString );