gcore.c revision 1.5
1/* Copyright 2002-2015 Free Software Foundation, Inc. 2 3 This file is part of GDB. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 17 18/* 19 * Test GDB's ability to save and reload a corefile. 20 */ 21 22#include <stdlib.h> 23#include <string.h> 24 25int extern_array[4] = {1, 2, 3, 4}; 26static int static_array[4] = {5, 6, 7, 8}; 27static int un_initialized_array[4]; 28static char *heap_string; 29 30void 31terminal_func () 32{ 33 return; 34} 35 36void 37array_func () 38{ 39 int local_array[4]; 40 int i; 41 42 heap_string = (char *) malloc (80); 43 strcpy (heap_string, "I'm a little teapot, short and stout..."); 44 for (i = 0; i < 4; i++) 45 { 46 un_initialized_array[i] = extern_array[i] + 8; 47 local_array[i] = extern_array[i] + 12; 48 } 49 terminal_func (); 50} 51 52int factorial_func (int value) 53{ 54 if (value > 1) { 55 value *= factorial_func (value - 1); 56 } 57 array_func (); 58 return (value); 59} 60 61int 62main() 63{ 64 factorial_func (6); 65 return 0; 66} 67