In this exercise you will run the GNU debugger (gdb) on buggy C programs to gain experience in diagnosing how and why compiled C programs fail.
For questions one through four, please download then untar/uncompress the following file in your home directory on Blue:
#include <stdio.h>#include <stdlib.h>int main (void){ char *buffer; buffer[0] = 'X'; buffer[1] = '\0'; printf ("%s\n", buffer); return (EXIT_FAILURE);}
#include <stdio.h>#include <stdlib.h>int main (int argc, char *argv[]){ int i; for (i = 1; i <= 10; i++) { printf ("%s\n", argv[i]); } return (EXIT_FAILURE);}
#include <stdio.h> #include <stdlib.h> int main (void) { char buffer[5]; buffer[0] = 'O'; buffer[1] = 'o'; buffer[2] = 'p'; buffer[3] = 's'; buffer[4] = '!'; buffer[5] = '\n'; buffer[6] = '\0'; printf ("%s", buffer); return (EXIT_FAILURE); }
#include <stdio.h> #include <stdlib.h> #include <string.h> int main (int argc, char *argv[]) { char *buffer; buffer = (char *) malloc(sizeof(char)*5); if (buffer != NULL) { strcpy (buffer, argv[1]); printf ("%s\n", buffer); free (buffer); } return (EXIT_FAILURE); }
Please submit your answers to Canvas for the questions above.