2016-05-30 21 views
3

Zum Anfang - Ich habe keine JTAG-Hardware-Debugger.Was kann ich verwenden, um den Freebsd Kernel Bootvorgang auf Pandaboard Schritt für Schritt zu debuggen/zu verfolgen?

Was ich habe:

Pandaboard und Seriell-USB-Kabel mit Freebsd und GNU/Linux-Distribution auf der Konsole und den PC zu verbinden.

Was ich suche - convinient Weg/Debug-Bootvorgang zu verfolgen innerhalb FreeBSD-Kernel (ich meistens in diesem Fragmente interessiert bin: https://github.com/freebsd/freebsd/blob/master/sys/arm/arm/locore-v6.S und https://github.com/freebsd/freebsd/blob/master/sys/arm/arm/mp_machdep.c wie ich, diese Dateien modyfy gehen).

Antwort

1

Aufgrund meiner Erfahrung gibt es nur wenig Möglichkeiten:

  • KDB/DDB: Aufruf kdb_enter hinzufügen ("A", "XYZ") Verarbeitung zu stoppen und interaktiven Debug-Modus von DDB über serielles eingeben.
  • printf-s in maschinenabhängig (mach_dep) Code
  • bootverbose, BUSDEBUG, VERBOSE_SYSINIT in unabhängigem Maschinencode

es ist auch wert zu erwähnen, dass DDB Codefunktionen enthalten Register, Stack-Trace und etc. drucken