Πρόγραμμα εντοπισμού σφαλμάτων πυρήνα

Ένα πρόγραμμα εντοπισμού σφαλμάτων πυρήνα είναι ένα πρόγραμμα εντοπισμού σφαλμάτων που υπάρχει σε ορισμένους πυρήνες λειτουργικών συστημάτων για να διευκολύνει τον εντοπισμό σφαλμάτων και την ανάπτυξη του πυρήνα από τους προγραμματιστές του πυρήνα. Ένα πρόγραμμα εντοπισμού σφαλμάτων πυρήνα μπορεί να είναι ένα στέλεχος που υλοποιεί λειτουργίες χαμηλού επιπέδου, με έναν πλήρη εντοπιστή σφαλμάτων όπως τον GNU Debugger (gdb), που εκτελείται σε ένα άλλο μηχάνημα, στέλνει εντολές στο στέλεχος μέσω μιας σειριακής γραμμής ή μιας σύνδεσης δικτύου ή μπορεί να παρέχει μια γραμμή εντολών που μπορεί να χρησιμοποιηθεί απευθείας στο μηχάνημα στο οποίο γίνεται αποσφαλμάτωση.

Λειτουργικά συστήματα και πυρήνες λειτουργικών συστημάτων που περιέχουν προγράμματα εντοπισμού σφαλμάτων πυρήνα:

  • Η οικογένεια των Windows NT περιλαμβάνει έναν εντοπιστή σφαλμάτων πυρήνα με το όνομα KD, [1] που μπορεί να λειτουργήσει ως τοπικός εντοπισμός σφαλμάτων με περιορισμένες δυνατότητες (ανάγνωση και εγγραφή μνήμης πυρήνα και ρύθμιση σημείων διακοπής) [2] και μπορεί να συνδεθεί σε απομακρυσμένο μηχάνημα μέσω σειριακής γραμμής. Σύνδεση IEEE 1394, σύνδεση USB 2.0 ή USB 3.0. [3] Το πρόγραμμα εντοπισμού σφαλμάτων γραφικού περιβάλλοντος WinDbg μπορεί επίσης να χρησιμοποιηθεί για τον εντοπισμό σφαλμάτων πυρήνων σε τοπικούς και απομακρυσμένους υπολογιστές.
  • Το BeOS και το Haiku περιλαμβάνουν ένα πρόγραμμα εντοπισμού σφαλμάτων πυρήνα που μπορεί να χρησιμοποιηθεί είτε με κονσόλα στην οθόνη είτε σε σειριακή γραμμή. Διαθέτει διάφορες εντολές για την επιθεώρηση της μνήμης, των νημάτων και άλλων δομών του πυρήνα. [4]
  • DragonFly BSD
  • Πυρήνας Linux ; Κανένα πρόγραμμα εντοπισμού σφαλμάτων πυρήνα δε συμπεριλήφθηκε στον πυρήνα Linux πριν από την έκδοση 2.6.26-rc1, επειδή ο Linus Torvalds δεν ήθελε έναν εντοπιστή σφαλμάτων πυρήνα στον πυρήνα. [5] [6]
    • KDB (τοπικό) [7]
    • KGDB (απομακρυσμένο)
    • MDB (τοπικό/απομακρυσμένο) [8] [9] [10]
  • NetBSD (DDB για τοπικό, KGDB για απομακρυσμένο)
  • macOS, [11] Darwin που εκτελεί τον πυρήνα XNU χρησιμοποιώντας το στοιχείο Mach
  • Το OpenBSD περιλαμβάνει ddb που έχει σύνταξη παρόμοια με το GNU Debugger. [12]

Παραπομπές Επεξεργασία

  1. «Debugging Environments». Debugging Tools for Windows (WinDbg, KD, CDB, NTSD). Ανακτήθηκε στις 16 Φεβρουαρίου 2020. 
  2. «Local Kernel-Mode Debugging». Ανακτήθηκε στις 16 Φεβρουαρίου 2020. 
  3. «Live Kernel-Mode Debugging Using KD». Ανακτήθηκε στις 16 Ιανουαρίου 2020. 
  4. «Welcome to Kernel Debugging Land». 
  5. «LWN.net». Ανακτήθηκε στις 29 Μαΐου 2008. 
  6. Torvalds, Linus (3 Μαΐου 2008). «Linux 2.6.26-rc1». LWN. Ανακτήθηκε στις 9 Μαρτίου 2015. 
  7. Nellitheertha, Hariprasad. «Inside the Linux kernel debugger». IBM. Αρχειοθετήθηκε από το πρωτότυπο στις 21 Ιουνίου 2008. Ανακτήθηκε στις 29 Μαΐου 2008. 
  8. «LWN Weekly Kernel News». 7 Σεπτεμβρίου 2008. 
  9. «MDB Github Website». 1 Ιανουαρίου 2016. Αρχειοθετήθηκε από το πρωτότυπο στις 22 Μαρτίου 2016. 
  10. «LWN Weekly Kernel News». 28 Ιουνίου 2010. 
  11. Singh, Amit (Δεκεμβρίου 2003). «XNU: The Kernel». What is Mac OS X?. Αρχειοθετήθηκε από το πρωτότυπο στις 19 Απριλίου 2019. Ανακτήθηκε στις 25 Μαΐου 2012. the built-in low-level kernel debugger, ddb, is part of XNU's Mach component, and so is kdp, a remote kernel debugging protocol implementation 
  12. «ddb(4)». OpenBSD manual page server. 6 Δεκεμβρίου 2019. Ανακτήθηκε στις 13 Δεκεμβρίου 2019. The ddb debugger provides a means for debugging the kernel, and analysing the kernel after a system crash ("panic"), with a gdb(1)-like syntax.