Dieses Bit von C-Code fahren ist Segmentierung Fehler in gdb gebensigsev Fehler auf malloc, die mir Nuss
if ((seq_entry_action=malloc((seq_subphases)*sizeof(int*)))==NULL){
printf("Cannot allocate memory for seq_entry_action\n");
}
wo:
int **seq_entry_action=NULL;
unsigned int seq_subphases=0;
Zum Zeitpunkt der Ausführung, und wenn ich einen Haltepunkt hinzufügen kurz vor diesem Code-snippet in gDB (es ist nur ein weiterer printf() Anweisung), die Werte sind
(gdb) p seq_subphases
$3 = 88
(gdb) p seq_entry_action
$4 = (int **) 0x0
dann I p resse nächste und es Segfaults bei malloc
ich es wirklich nicht bekommen .....
Das liegt normalerweise daran, dass Sie Ihren Heap beschädigt haben. Das bedeutet, dass der Fehler überall in Ihrem Code auftreten kann. Probiere 'Valgrind' aus. – Mat
Lief das Bit Code unter Centos 6.2 und GCC Version 4.4.6 und es kompiliert und lief gut, was bedeutet, irgendwo Sie Ihren Haufen beschädigt. –
+1 für die erste heute auf SO, wer nicht den Return-Wert von malloc wirft. –