Title: Log.wtf() Post by: Apostolof on December 31, 2017, 19:42:41 pm Ασχολούμαι με την 2η εργασία στα παράλληλα, όλα (σχετικά) καλά. Μέχρι που βάζω τις απαραίτητες free και αρχίζει να κρασάρει με errors σχετικά με τη malloc και segmentation faults. Αλλάζω γραμμές από εδώ και από εκεί. Ψιλο-αλλάζουν και τα error messages αλλά τίποτα. Έχω τσεκάρει 500 φορές όλες τις malloc. Με τα πολλά αρχίζει να βγάζει error σε μία printf. :???:
Οπότε αρχίζω την (αγαπημένη μου) debug μέθοδο που γράφω: Code: printf("HERE\n"); Ξαφνικά όλα τρέχουν σωστά. Σβήνω μερικά "HERE" και πετάει πάλι error. WTF? Γρήγορο googlάρισμα: Quote c printf causes segmentation fault Generally speaking, a segmentation fault is caused by some form of pointer molestation. (https://cboard.cprogramming.com/c-programming/141662-commenting-out-printf-causes-segmentation-fault.html#post1058203)Μη το κουράζω σε μια λούπα έβγαινα έξω από τον πίνακα, άλλαξα τη συνθήκη από numberOfWhatever-1 σε numberOfWhatever-2 και όλα καλά. Ελπίζω να διασκεδάσατε λίγο με το ηλίθιο βασανιστήριο μου και να μοιραστείτε errors και crashes που σας έκαναν να πείτε wtf. Title: Re: Log.wtf() Post by: Aristos on December 31, 2017, 20:05:46 pm δεν έχω κρατήσει ακριβώς το μύνημα αλλά κάποτε το valgrind μου έβγαλε κάτι σαν και αυτό:
Quote More than 100000 total errors detected. I'm not reporting any more. Final error counts will be inaccurate. Go fix your program! ήταν η 4η εργασία για τα παράλληλα αυτόν τον σεπτέμβριο. επίσης, για να βρεις segmentation fault, το memchecκ του valgrind είναι πολύ πιο αποδοτική μέθοδος από τα printf Title: Re: Log.wtf() Post by: Apostolof on December 31, 2017, 20:12:55 pm Quote than 100000 total errors detected. I'm not reporting any more. Final error counts will be inaccurate. Go fix your program! ;D ;D Νταξ δε δούλευα μόνο με τα printf :P Πάλευα με το gdb. Πάντως το valgrind βλέπω να το προτείνουν παντού, θα το τσεκάρω. Title: Re: Log.wtf() Post by: Apostolof on January 07, 2018, 14:09:47 pm επίσης, για να βρεις segmentation fault, το memchecκ του valgrind είναι πολύ πιο αποδοτική μέθοδος από τα printf Quote valgrind: the 'impossible' happened: Killed by fatal signal ;D ;D |