Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να δείτε το Call Stack στην GDB

Μια στοίβα κλήσης είναι το συστατικό δομή δεδομένων ενός προγράμματος υπολογιστή που παρακολουθεί όλες τρέξιμο υπορουτίνες . Μια υπορουτίνα είναι ένα τμήμα ενός μεγαλύτερου κομματιού του λογισμικού που εκτελεί μια ιδιαίτερα εξειδικευμένη εργασία. Υπορουτίνες τελικά τελειώσει το έργο τους , και ότι η στοίβα κλήσεων παρακολουθεί ό, τι υπορουτίνες έχουν ολοκληρωθεί και ποιες είναι ακόμα ενεργή . Χρησιμοποιώντας το Gnu Debugger ( GDB ) , μπορείτε να δείτε τη στοίβα κλήσεων για ένα πρόγραμμα που εκτελείται . Αυτό είναι χρήσιμο όταν το πρόγραμμά σας έχει ένα bug , και θα πρέπει να εμβαθύνει στο περιβάλλον χρόνου εκτέλεσης για να δούμε τι δεν πάει καλά . Τα πράγματα που θα χρειαστείτε
Linux Υπολογιστής με gdb εγκατασταθεί
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Start " gdb » για το πρόγραμμα που θέλετε να δείτε τη στοίβα κλήσης . Για παράδειγμα , για να ξεκινήσει την αποσφαλμάτωση του προγράμματος « παράδειγμα », θα πρέπει να πληκτρολογήσετε τα ακόλουθα σε μια γραμμή εντολών του Linux :

gdb παράδειγμα 2

Εκτελέστε μια backtrace σχετικά με το πρόγραμμα . Αυτό εμφανίζει μια λίστα των ενεργών κλήσεων λειτουργίας στο πρόγραμμα το νήμα . Αυτή είναι η στοίβα κλήσης , αλλά υπάρχουν περισσότερα που μπορείτε να κάνετε ό, τι ακριβώς να τη δείτε . Πληκτρολογήστε το παρακάτω για να κινήσει τη backtrace :

backtrace
εικόνων 3

Παρατηρήστε την λίστα των ενεργών κλήσεων λειτουργίας . Κάθε ένα έχει προηγηθεί η δίεση "#" και έναν αριθμό. Μπορείτε να αποκτήσετε πρόσβαση πλαίσια stack τους μέσα από αυτό τον αριθμό .
Η 4

Παρατηρήστε το πλαίσιο στοίβας μια ενεργή κλήση συνάρτησης . Για παράδειγμα , για να εμφανίσετε το πλαίσιο στοίβας για τη λειτουργία κλήσης 3 , γράψτε το ακόλουθο :

πλαίσιο 3
5

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα