katina Δημοσ. 30 Μαρτίου 2016 Δημοσ. 30 Μαρτίου 2016 Καλησπέρα, υπάρχει τρόπος να κάνεις log ουσιαστικά τη ροή ενός προγράμματος κάνοντας debugging σε όλες τι γραμμές σε όλα αρχεία Java και JSP ενός project? Ευχαριστώ.
katina Δημοσ. 31 Μαρτίου 2016 Μέλος Δημοσ. 31 Μαρτίου 2016 Breakpoint σε όλες τις γραμμές του κώδικα?
παπι Δημοσ. 31 Μαρτίου 2016 Δημοσ. 31 Μαρτίου 2016 Στη main. Από εκεί που αρχίζει. Βέβαια αν μιλάμε για gui που έχεις και events, εκεί πρέπει να βάλεις breakpoint σε κάθε event εφόσον ουσιαστικά το κάθε event έχει δικό του φλοου.
gon1332 Δημοσ. 31 Μαρτίου 2016 Δημοσ. 31 Μαρτίου 2016 Ποιο IDE χρησιμοποιείς; Netbeans που χρησιμοποιούσα για Servlets είχε από κάτω log window. Παίζει να κρατούσε και logs σε κάποιο αρχείο μετά από κάθε εκτέλεση. Δεν είχε χρειαστεί ποτέ να το ψάξω γιατί το log window ήταν υπεραρκετό.
katina Δημοσ. 4 Απριλίου 2016 Μέλος Δημοσ. 4 Απριλίου 2016 Χρησιμοποιώ eclipse, και σκέφτομαι για κανένα log σύστημα. Κάθε αρχείο κάνει 10 import...άντε να βγάλεις άκρη που είναι οτ bug!! Μετατρέπει στο login το & σε _ !! Δεν το έχει αντιμετωπίσει κάποιος άλλος java developer αυτό το πρόβλημα με την εντόπιση ενός bug σε μια μεγάλη εφαρμογή;
defacer Δημοσ. 4 Απριλίου 2016 Δημοσ. 4 Απριλίου 2016 Ο εντοπισμός ενός bug σε μεγάλη εφαρμογή είναι ένα πρόβλημα που πολλοί developers έχουν αντιμετωπίσει. Η τεχνική με την οποία το καταφέρνεις λέγεται debugging. Αν δε μπορείς να το εντοπίσεις, αυτό σημαίνει ότι πρέπει να βελτιώσεις τις ικανότητές σου στο debugging. Υποθέτω μπορείς εύκολα να βρεις τη γραμμή όπου εμφανίζεται σε σένα το πρόβλημα. Ε, το παίρνεις απο κει και ακολουθείς το νήμα προς τα πίσω. 1
katina Δημοσ. 4 Απριλίου 2016 Μέλος Δημοσ. 4 Απριλίου 2016 Καταλαβαίνω τι λες. Σκέφτομαι μήπως υπάρχει κάποιος τρόπος εκτός του debugging γιατί όπως λέω κάθε αρχείο έχει 10 import και δε μπορώ να πιάσω το σημείο που γίνεται αυτό το convert. Οπότε σκέφτομαι αν υπάρχει τρόπος να ελέγχεται όλη η ροή αυτόματα ανάλογα με την εκτέλεση των αρχείων και να μην χρειάζεται εγώ να βάζω breakpoints.
defacer Δημοσ. 4 Απριλίου 2016 Δημοσ. 4 Απριλίου 2016 Θέλεις να κάτσεις να το σκεφτείς λίγο παραπάνω το τι εννοείς "να ελέγχεται όλη η ροή αυτόματα"; Πώς να "ελέγχεται" δηλαδή; Αν θες να δεις τα πάντα όλα τότε η λύση είναι όπως είπε το παπί βάζεις ένα breakpoint και προχωράς μία γραμμή κάθε φορά με step. Σε 4-5 μήνες περίπου θα έχεις φτάσει στο σημείο που σ' ενδιαφέρει...
katina Δημοσ. 4 Απριλίου 2016 Μέλος Δημοσ. 4 Απριλίου 2016 Έχεις δίκιο...μόλις το βρήκα! Δεν το ήξερα το "step into" ότι πάει γραμμή-γραμμή, νόμιζα ότι πήγαινε από breakpoint σε breakpoint! Σε ευχαριστώ. Υπάρχει και step back άραγε? Σε περίπτωση που σου ξεφύγει και πας μια γραμμή πιο κάτω? Επίσης ποια η γνώμη σου για τις logging frameworks; Βοηθούν ή δεν χρειάζονται; πχ. το SLF4J ή το SmartInspect ?
defacer Δημοσ. 5 Απριλίου 2016 Δημοσ. 5 Απριλίου 2016 Από breakpoint σε breakpoint πάει το run. Και βέβαια, γιατί απλά δεν τα πατάς σε πειραματικές συνθήκες να δεις τι κάνουν; Step back προφανώς δεν υπάρχει, σκέψου το λίγο παραπάνω. Υπάρχουν εξελιγμένα εργαλεία debugging που σου επιτρέπουν να δεις πίσω στο χρόνο αλλά όχι βέβαια να πας πίσω. Η ερώτηση για τα logging frameworks επίσης είναι προϊόν... βιασύνης. Εργαλεία είναι, κάνουν μια δουλειά. Αν αυτή η δουλειά σου είναι χρήσιμη, βοηθούν. Αλλιώς δε χρειάζονται. Επίσης τα δύο links που δίνεις είναι για τελείως διαφορετικά πράγματα.
gon1332 Δημοσ. 5 Απριλίου 2016 Δημοσ. 5 Απριλίου 2016 Δεν τις γνωρίζω αυτές που είπες. Υπάρχει και αυτή της Google: glog Δεν την έχω χρησιμοποιήσει από την αρχή, αλλά την έχω δει σε open-source project να χρησιμοποιείται και βοηθάει όντως στο debugging. Σου εμφανίζει και backtraces και τα λοιπά. Είναι όμως σε C++. Σε κάποιο project μεσαίου+ scale θα τη χρησιμοποιούσα.
katina Δημοσ. 5 Απριλίου 2016 Μέλος Δημοσ. 5 Απριλίου 2016 Από breakpoint σε breakpoint πάει το run. Και βέβαια, γιατί απλά δεν τα πατάς σε πειραματικές συνθήκες να δεις τι κάνουν; Step back προφανώς δεν υπάρχει, σκέψου το λίγο παραπάνω. Υπάρχουν εξελιγμένα εργαλεία debugging που σου επιτρέπουν να δεις πίσω στο χρόνο αλλά όχι βέβαια να πας πίσω. Η ερώτηση για τα logging frameworks επίσης είναι προϊόν... βιασύνης. Εργαλεία είναι, κάνουν μια δουλειά. Αν αυτή η δουλειά σου είναι χρήσιμη, βοηθούν. Αλλιώς δε χρειάζονται. Επίσης τα δύο links που δίνεις είναι για τελείως διαφορετικά πράγματα. To step into στο eclipse στο εκτελεί απο το breakpoint που έχεις ορίσει και στη συνέχεια γραμμή - γραμμή ανεξάρτητα από το αν έχεις βάλει breakpoint. Ανάλογα δηλαδή με τη ροή. Όταν λέω με τη ροή, αν καλείς μια μέθοδο θα πάει στη μέθοδο κτλ. Η ερώτηση είναι τι παραπάνω προσφέρουν τα logging frameworks από το debug. Δε νομίζω ότι είναι διαφορετικά, εκτός του ότι το ένα είναι commercial.
defacer Δημοσ. 5 Απριλίου 2016 Δημοσ. 5 Απριλίου 2016 Ξέρω τι κάνει το step into, παντού το ίδιο πράγμα κάνει. Αυτό που εννοώ είναι ότι εφόσον νόμιζες πως το step κάνει αυτό που κάνει το run, τότε τι κάνει το run? 4-5 επιλογές είναι όλες κι όλες, πάτα τες να δεις τι κάνουν. Αλλιώς είναι σα να προσπαθείς να μαγειρέψεις και να νομίζεις ότι το πιπέρι τα κάνει αλμυρά και να μην έχεις δοκιμάσει ποτέ το αλάτι. 2
M2000 Δημοσ. 5 Απριλίου 2016 Δημοσ. 5 Απριλίου 2016 Θέλω να φτιάξει ο Defacer Step Back να πάρει ίσα με σαράντα χρυσά στο Stack Overflow..άμεσα!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα