Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« adb (System V) Debugger Analysewerkzeuge »

gdb GNU debug

Der GNU Debugger gdb wird normalerweise mit dem zu untersuchenden Programm als Parameter gestartet. Als weiterer Parameter kann auch hier ein core dump angegeben werden.

gdb kann ein laufendes Programm unter seine Fittiche nehmen. Dazu wird der gdb gestartet und der Befehl at oder attach abgesetzt. Der Prozess wird gestoppt und mit dem gdb verbunden.

attach PID

Alternativ können Sie die PID auch als zweiten Parameter beim Aufruf von gdb angeben. Hier folgt ein Beispiel:

gaston> ps -ef | grep one
arnold    1339  1223  0 11:37 pts/3    00:00:00 one
gaston> gdb one 1339
GNU gdb 20010316
Copyright 2001 Free Software Foundation, Inc.
/home/arnold/my/src/unix/ipc/1339: No such file or directory.
Attaching to program: /home/arnold/src/unix/one, process 1339
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
0x400f3d64 in read () from /lib/libc.so.6
(gdb) next
Single stepping until exit from function read,
...

Dieses etwas gekürzte Protokoll zeigt, wie der Prozess one unter die Kontrolle des Debuggers geholt wird. Zunächst wurde die PID von one ermittelt und daraufhin gdb gestartet. Sie können sehen, wie die Meldung des Copyright erscheint. Anschließend versucht gdb, die Datei 1339 zu öffnen. Als das nicht funktioniert, versucht er, den entsprechenden Prozess zu bekommen, was ihm auch gelingt.

Im Debugger gibt es diverse Befehle. Mit run können Sie das geladene Programm starten, mit dem Befehl kill wieder stoppen. Mit quit verlassen Sie den Debugger.

Um an den kritischen Stellen den Programmablauf unterbrechen zu können, setzen Sie einen Breakpoint. Der Befehl break erwartet als Parameter die Zeilenzahl im Listing oder einen Funktionsnamen. Die Zeilennummer ermitteln Sie durch Auflisten des Programms, was gdb durch den Befehl list ausführt.

Haben Sie den Breakpoint erreicht, können Sie mit den Befehlen step oder next Schritt für Schritt das Programm durchlaufen. Dabei wird step in aufgerufene Funktionen hinuntersteigen, was next nicht tut. Mit continue lassen Sie das Programm weiterlaufen.

Wollen Sie einen Blick auf Variablen werfen, ist print dazu der einfachste Befehl. Mit dem Befehl watch können Sie Variablen unter Bewachung stellen. Dieser Befehl zeigt den Inhalt, sobald er sich ändert.

[Kommandos des GNU Debuggers]L|L Kommando & Aktion
quit & Debugger verlassen
run & das geladene Programm starten
kill & stoppen des laufenden Programms
print Variable & Inhalt der Variablen anzeigen
watch Variable & Variable beobachten
list & zeigt einen Ausschnitt aus dem Sourcelisting
break Funktionsname & setzen eines Breakpoints
break Zeilennummer & setzen eines Breakpoints
clear Funktionsname & löscht einen Breakpoint
clear Zeilennummer & löscht einen Breakpoint
next & eine Zeile weitergehen
step & eine Zeile weiter und ggf. in eine Funktion hinein
continue & fortsetzen des angehaltenen Prozesses



« adb (System V) | Debugger | Analysewerkzeuge »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de