2013-05-16 9 views
11

Ich habe die Erklärung für minderwertig im GDB-Handbuch nicht wirklich verstanden, und Google liefert nichts hilfreicheres.Was bedeutet "minderwertig" im Begriff "minderwertiger Debugger"?

Kann jemand "minderwertig" mit einfachen Worten erklären?

+0

Können Sie ein Beispiel anführen? –

+1

http://sourceware.org/gdb/onlinedocs/gdb/Inferiors-and-Programs.html – borrible

+0

@borrible - es ist eigentlich dieser Link, den ich im Sinn hatte als schwer zu verstehen (Ich bin ein bisschen dumm und brauche einfache Erklärungen für alles! :-)). "Ein Unterlegener entspricht typischerweise einem Prozess, ist aber allgemeiner und gilt auch für Ziele, die keine Prozesse haben". Kurz gesagt, könnten Sie im GDB-Kontext sagen, was eigentlich minderwertig ist? – BeeBand

Antwort

11

"Inferior" ist ein allgemeiner Begriff für "etwas, das Sie mit gdb debuggen" - im Allgemeinen ein Prozess oder vielleicht ein Kernel auf einem Emulator oder auf einem anderen Stück Hardware auf einer seriellen Leitung läuft.

Der Begriff "Inferior Debugger" wird angezeigt, wenn Sie GDB verwenden, um GDB zu debuggen. Das heißt, Sie haben zwei laufende gdb-Prozesse, von denen einer (der Haupt-gdb) überwacht und steuert (das Setzen von Breakpoints, Single-Stepping usw.) der zweite (der "minderwertige Debugger"). Der minderwertige Debugger steuert wahrscheinlich selbst ein anderes Programm.

8

In gdb bezieht sich "inferior" auf den Prozess, den Sie debuggen. Z.B.

(gdb) help info inferiors 
IDs of specified inferiors (all inferiors if no argument). 

(gdb) info inferiors 
    Num Description  Executable   
* 1 process 12858  /usr/bin/true 

gdb kann jetzt debuggen mehrere Prozesse auf einmal, so hat er einen Befehl zwischen Untergebenen wechseln ähnlich, wie Sie zwischen den Threads wechseln.

(gdb) help inferior 
Use this command to switch between inferiors. 
The new inferior ID must be currently known. 

Die meisten Befehle im Inferiors and Programs Abschnitt des Handbuchs befasst sich mit gleichzeitig mehrere Prozesse debuggen.