Tab Bar Τεύχος: - [UILayoutContainerView hash]: Το μήνυμα αποστέλλεται deallocated παράδειγμα

ψήφοι
0

Μου φαίνεται να dealloc'ing κάτι σαν το ίδιο το μπαρ καρτέλα, ελέγχου πλοήγησης, ή ???, και αυτό συμβαίνει όταν πηγαίνω σε ένα συγκεκριμένο ελεγκτή προβολή και στη συνέχεια χτύπησε το μπαρ καρτέλα σε μια συγκεκριμένη καρτέλα (π.χ., αν χτύπησα το μέσα καρτέλα, 3 καρτέλες, δεν υπάρχει πρόβλημα, αλλά αν χτυπήσει την καρτέλα δεξιότερο έχω την συντριβή). Το πρόγραμμά μου είναι βασικά πλήρης και έχω μια αρκετά μεγάλη βάση κώδικα σε αυτό το σημείο. Όποιος έχει κάποιες προτάσεις για τον εντοπισμό σφαλμάτων αυτό - έχω περιμένει μέχρι τώρα να εργαστούν για αυτό. Η αίσθησή μου είναι να εξετάσουμε τις ρουτίνες dealloc και τις κυκλοφορίες στο γειτονικό κώδικα. Κάθε πράγμα λιγότερο «εγχειρίδιο» μπορείτε να προτείνετε; Ευχαριστώ!

Δημοσιεύθηκε 11/03/2009 στις 17:09
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
1

Χωρίς να γνωρίζουν περισσότερα, εδώ είναι το πώς θα πάει για αυτό.

  1. Στο πρόγραμμα προβολής αρχείο καταγραφής, τύπου backtrace μετά την εξαίρεση συμβαίνει σε gdb. Ας ελπίσουμε ότι αυτό θα σας δώσει την ακριβή γραμμή που δείχνει το οποίο αντικείμενο είναι να free'd πάρα πολλές φορές.

  2. Ψάξτε για αναφορές σε αυτό το αντικείμενο και να δείτε αν μπορείτε να βρείτε την περιττή απελευθέρωση, αυτόματης κυκλοφορίας, κλπ από την επιθεώρηση. Είστε να μην αποδεσμεύσει / αυτόματης κυκλοφορίας οτιδήποτε πορεία εκτέλεσης σας δεν κατέχει (μέσω alloc).

Μπορεί να έχετε κάποια τύχη εκτύπωση διατηρούν μετράει για αυτό το αντικείμενο (με την αποστολή του μηνύματος retainCount με την παραβατική αντικείμενο). Αν και τεκμηρίωση του κυρίου του έργου υποδηλώνει σαφώς ότι αυτό δεν έχει νόημα και δεν είναι γόνιμη, έχω διαπιστώσει ότι είναι χρήσιμο σε ορισμένες περιπτώσεις να με βοηθήσει να περιορίσετε όταν έχω απελευθερωθεί κάτι από ατύχημα.

Απαντήθηκε 11/03/2009 στις 22:45
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more