Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Debian GNU/Linux Reference Guide
Prev Home Next

13.7.2 Fehlersuche


13.7.2.1 Fehlersuche (Debugging) mit gdb

Vorbereitung:

     # apt-get install gdb

Referenzen f�r gdb:

Verwenden Sie gdb, um ein mit der -g-Option kompiliertes Programm zu debuggen. Viele Kommandos k�nnen abgek�rzt werden. Vervollst�ndigungen arbeiten wie in der Shell mit der Tabulator-Taste.

     $ gdb Programm
     (gdb) b 1                # Haltepunkt in Zeile 1 setzen
     (gdb) run arg1 arg2 arg3 # Programm starten
     (gdb) next               # n�chste Zeile
     ...
     (gdb) step               # einen Schritt vorw�rts
     ...
     (gdb) p parm             # parm ausgeben
     ...
     (gdb) p parm=12          # Wert auf 12 setzen

Um aus Emacs heraus zu debuggen, wird auf Zusammenfassung der Editorkommandos (Emacs, Vim), Abschnitt 11.3.4 verwiesen.

Da alle installierten Binarys standardm��ig in einem Debian-System gestript sein sollten, sind die meisten Debug-Informationen entfernt. Um gdb sinnvoll zum Debuggen von Debian-Paketen einsetzen zu k�nnen, m�ssen entsprechende Pakete unter Beachtung von Folgendem neu gebaut werden:

  • Erh�hen Sie die Paketversion durch Editieren von debian/control.

  • �berpr�fen Sie die Build-Skripte und stellen Sie sicher, dass CFLAGS=-g -Wall zum Kompilieren der Binarys verwendet wird.

  • Exportieren Sie DEB_BUILD_OPTIONS=nostrip,noopt zum Bauen des Debian-Pakets.

Vergleichen Sie Policy 10.1 f�r weitere Informationen.


13.7.2.2 �berpr�fen der Abh�ngigkeiten von Bibliotheken

Verwenden Sie ldd, um die Abh�ngigkeiten eines Programms von Bibliotheken zu bestimmen:

     $ ldd /bin/ls
             librt.so.1 => /lib/librt.so.1 (0x4001e000)
             libc.so.6 => /lib/libc.so.6 (0x40030000)
             libpthread.so.0 => /lib/libpthread.so.0 (0x40153000)
             /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Damit ls in einer chroot-Umgebung funktioniert, m�ssen die obigen Bibliotheken in der chroot-Umgebung vorhanden sein.

Die folgenden Kommandos sind auch n�tzlich:

  • strace: verfolgt Systemaufrufe und Signale

  • ltrace: verfolgt Bibliotheksaufrufe


13.7.2.3 Debuggen mit Tools zur Erkennung von Speicherlecks

Es gibt verschiedene Tools zur Erkennung von Speicherlecks in Debian.

  • njamd

  • valgrind

  • dmalloc

  • electric-fence

  • memprof

  • memwatch (nicht paketiert, verf�gbar unter memwatch.)

  • mpatrol

  • leaktracer

  • libgc6

  • Insure++ von Parasoft. (nicht frei, kommerziell)

�berpr�fen Sie auch Debugging Tools f�r dynamische Speicherzuordnung und -Management.


Debian GNU/Linux Reference Guide
Prev Home Next

 
 
  Published under the terms of the GNU General Public License Design by Interspire