stathi02 Δημοσ. 29 Μαΐου 2010 Δημοσ. 29 Μαΐου 2010 Παιδια έχω το παρακάτω πρόβλημα. Κάνω compilation και βάζω ένα Breakpoint σε ένα call και όταν πατάω play παρατηρώ ότι το call γίνεται δυο φορές και συμβαίνει σε όλα σχεδόν τα call . Χρησιμοποιώ Visual Studio 2008 και ο compiler είναι ο 11. Σας έχει τύχει ποτέ κάτι παρόμοιο.??
V.I.Smirnov Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Λειψά πράγματα μας λες. 1) Ποιόν compiler χρησιμοποιείς ; Να υποθέσω την Intel fortran ( διότι αυτή είναι στην έκδοση 11 ) ; 2) Όταν λες "πατώ play" εννοείς start debugging (δηλ. F5) ; 3) Πώς αντιλαμβάνεσαι ότι το call γίνεται πραγματικά δυό φορές ; To ρωτώ αυτό διότι σε dubugging με breakpoints συμβαίνει κάποιες φορές φορές ο δρομέας που δείχνει την τρέχουσα θέση να περνά δυό φορές από το ίδιο σημείο ή να παρακάμπτει γραμμές πισωγυρίζοντας απλώς για εντοπίσει blocks κώδικα, χωρίς να τα εκτελεί πραγματικά. Για να διαπιστώσεις ότι στ' αλήθεια γίνεται δυο φορές η εκτέλεση βάλε μια μεταβλητή να αυξάνεται η τιμή της κατά 1 μέσα στην υπορουτίνα του call και δες τι γίνεται. Αν εκτελείται δυο φορές χωρίς το breakpoint κάπου κάνεις λάθος ανεξάρτητα από τον compiler.
stathi02 Δημοσ. 30 Μαΐου 2010 Μέλος Δημοσ. 30 Μαΐου 2010 1)Ναι τον τελευταίο της Ιντελ χρησιμοποιώ 2)Ναι start debugging 3)Το αντιλαμβάνομαι ως εξής: Πρώτα κάτω δεξιά που δείχνει τα debugging points (δεν θυμάμαι το όνομα από το παράθυρο ) όπου έχω call μου βγάζει ένα + (expand) και δεύτερον όταν βάζω ακριβώς στην επόμενη γραμμή breakpoint παρατηρώ ότι για να περάσει το call θέλει 2 play. Αύριο θα κάνω αυτό που προτείνεις. Ευχαριστώ
V.I.Smirnov Δημοσ. 30 Μαΐου 2010 Δημοσ. 30 Μαΐου 2010 Έχε υπόψην σου και το εξής. H έκδοση 11.0.61 έχει κάποιο bug στις βελτιστοποιήσεις όταν ανοίξεις το openMP και μπορεί να σου βγάλει μήνυμα "catastrophic error" κατά το linkng. Στην έκδοση 11.1.51 αυτό το πρόβλημα έχει διορθωθεί αλλά υπάρχει ένα άλλο. Στα windows 7 υπάρχει κάποια ασυμβατότητα με το quick win και όταν καλέσεις κάποια ρουτίνα του που περιμένει να πατηθεί πλήκτρο (πχ. την messagebox) το πρόγραμμα μπορεί να κρεμάσει. Την τελευταία φορά που το είχα ψάξει, καιρό πριν, δεν είχαν βρει ακόμη σε τι οφείλεται. Εδώ είναι μια συζήτηση αυτού του προβλήματος : http://software.intel.com/en-us/forums/showthread.php?t=70026 Στο forum της Intel μπορείς να βρεις βοήθεια για πολλά πράγματα που αφορούν το λογισμικό της και μάλιστα και από ανθρώπους που αναπτύσσουν τους compilers της κι όχι από τον κάθε τυχόντα . Ειδικά για τη fortran δες εδώ : http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/ Οι compiler της Intel είναι γενικά πολύ καλοί αλλά όχι τέλειοι. Το καλύτερό τους είναι ότι διατηρούν τη συμβατότητα σχεδόν πλήρως (υπάρχουν μικροπροβλήματα) από την εποχή της fortran powerstation. Δηλ. από το '93 μέχρι σήμερα, περίπου 20 χρόνια. Πράγμα που για compilers της C++ δεν υφίσταται. Και όταν βλέπω τι πρέπει να κάνουν οι άλλοι στη C++ για να κάνουν απλά πράγματα όπως να σχεδιάσουν μια γραμμή ή να αλλάξουν το χρώμα γραφής ενώ στη fortran γίνεται σχεδόν χωρίς καμιά μέριμνα με μια-δυο εντολές του qwin γελώ ειρωνικά...
stathi02 Δημοσ. 30 Μαΐου 2010 Μέλος Δημοσ. 30 Μαΐου 2010 Ευχαριστώ πολύ για τις πληροφορίες. Το πρόβλημα είναι ότι ο κώδικας δεν είναι δικός μου και είναι από διάφορες εκδόσεις και πρέπει να κάνω καθαρισμό στον κώδικα και να τον κάνω να τρέχει. Anyway, ευχαριστώ και θα ποστάρω αυριο λεπτομέριες.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.