Προς το περιεχόμενο

Stack overflow in your program's main thread


Προτεινόμενες αναρτήσεις

Δημοσ.

Η fscanf() επιστρέφει το πλήθος των στοιχείων που διάβασε, αλλιώς επιστρέφει είτε 0 είτε EOF.

 

Ο αριθμός που διαβάζεις αποθηκεύεται στο *Elem.

 

Σωστός, αλλά ούτως ή άλλως δεν το χρησιμοποιεί:

if(!yperxeilisi) //to exw orisei se prohgoumenes grammes
      rV(from,Stoix);

Αν πράγματι σκάει η fscanf(), προσωπικά θα ήθελα να δω τα περιεχόμενα του file... Αν και μπορεί να λέω και μλκία.

  • Απαντ. 57
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοφιλείς Ημέρες

Δημοσ.

Δεν το χρησιμοποιεί σε αυτό που μας δείχνει, ίσως όμως να το χρησιμοποιεί πουθενά αλλού. Για αυτό της το έγραψα.

Δημοσ.

Μήπως προσπαθεί να χρησιμοποιήσει την Elem κάπου πιο μετά; Δεν την επιστρέφει. Αν βασίζεται σε αυτή κάποια αναδρομή; Δεν έχει νόημα αυτό που είπα γράψε λάθος.

 

Αλλά και πάλι.....έτρεξες gdb για να δεις σε ποιο ακριβώς σημείο σου σκάει;

Δημοσ.

οχι το χρησιμοποιώ μόνο σε αυτό το σημείο..
;) 

 

Σωστός, αλλά ούτως ή άλλως δεν το χρησιμοποιεί:

if(!yperxeilisi) //to exw orisei se prohgoumenes grammes
      rV(from,Stoix);

Αν πράγματι σκάει η fscanf(), προσωπικά θα ήθελα να δω τα περιεχόμενα του file... Αν και μπορεί να λέω και μλκία.

δεν ειναι τπτα σημαντικο το περιεχόμενο του file ..απλά είναι περίπου 15 αριθμοί απο το 1-9999

Δημοσ.

Μήπως προσπαθεί να χρησιμοποιήσει την Elem κάπου πιο μετά; Δεν την επιστρέφει. Αν βασίζεται σε αυτή κάποια αναδρομή; Δεν έχει νόημα αυτό που είπα γράψε λάθος.

 

Αλλά και πάλι.....έτρεξες gdb για να δεις σε ποιο ακριβώς σημείο σου σκάει;

οχι  :huh: 

 

είδα τον τρόπο με την  Valgrind και δν το επιχείρησα :)

Δημοσ.

Έχεις βάλει καμιά printf() να επιβεβαιώσεις πως όντως σου διαβάζει σωστά τους αριθμούς;

Βασικά δεν μας λες τι θέλεις να κάνεις, αλλιώς θα γράφουμε μέχρι το πρωί.

Δημοσ.

Δεν ξέρουμε, δεν μας λέει :P Π.χ. μπορεί να το χρησιμοποιεί στον υπολογισμό του yperxeilish.

Πίστεψέ με δν το χρησιμοποιώ αλλού ^_^

Δημοσ.

Το θέμα ειναι να απομονωθεί το πρόβλημα . Αν νομίζεις οτι φταίει η συνάρτηση σου μπορείς απλα να τεσταρεις μόνο την συνάρτηση αγνοώντας όλο τον υπόλοιπο κώδικα.

Δημοσ.

οχι  :huh: 

 

είδα τον τρόπο με την  Valgrind και δν το επιχείρησα :)

Τρέξε ένα gdb. Στο σημείο που θα σου σκάσει κάνε backtrace με την εντολή bt. Θα σου βγάλει όλα τα βήματα μέχρι τη διακοπή λειτουργίας.

Δημοσ.

Έχεις βάλει καμιά printf() να επιβεβαιώσεις πως όντως σου διαβάζει σωστά τους αριθμούς;

Βασικά δεν μας λες τι θέλεις να κάνεις, αλλιώς θα γράφουμε μέχρι το πρωί.

αφου σταματα εκεί...πως να το επιβεβαιώσω?  :mellow: 

 

θέλω να εισάγω στοιχεια σε μια στοιβα...

και μετα να τα "παω" αυτά σε μια άλλη κενή..(αυτή ειναι η βασική ιδέα)

 

Τεσπα ευχαριστώ πολύ για τις ιδεες πάντως θα το ξαναδώ με πιο καθαρό μυαλό !

καληνύχτα  :-) 

 

Δημοσ.

βασικά το πρόγραμμά μου έβγαζε segmentation fault και προσπαθώντας να βρω το πρόβλημα έβγαλε αυτό...

Ξανακοίταξε τον τρόπο που δίνεις μνήμη στον Stoix (...αν δίνεις!).

  • Like 1
Δημοσ.

Ξανακοίταξε τον τρόπο που δίνεις μνήμη στον Stoix (...αν δίνεις!).

Πες το ότι εμφάνιζε seg fault. Δεν το πρόσεξα πουθενά, ούτε και απάντηση πήρα όταν το ρώτησα. Τόσες αναδρομές και "πετούσε" stack overflow στην fscanf. Θα τρελαθούμε. :P

 

Τότε είναι κλασσικό πρόβλημα στη C. Κάτι κακό έχεις κάνει με τη μνήμη όπως είπε ο/η geomagas και λογικά στη Stoix.

Δημοσ.

Πες το ότι εμφάνιζε seg fault.

 

Είναι στο πρώτο-πρώτο post.

Είπα να ξαναδιαβάσω το thread απ' την αρχή για να βγάλω άκρη και... :facepalm:

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...