Cpp Programmierung: Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
=== [[Qt]] ===
+
== [[Qt]] ==
 
Eine Klassenbibliothek und Entwicklungsumgebung für Programmierung graphischer Benutzeroberflächen.
 
Eine Klassenbibliothek und Entwicklungsumgebung für Programmierung graphischer Benutzeroberflächen.
   
=== Debuggen von C/C++ Programmen ===
+
== Debuggen von C/C++ Programmen ==
 
Besonders die Speicherzugriffsfehler können schwer zu finden sein. Es gibt aber Tools mit denen die Fehlersuche wesentlich schneller und weniger frustrierend verläuft.<br>
 
Besonders die Speicherzugriffsfehler können schwer zu finden sein. Es gibt aber Tools mit denen die Fehlersuche wesentlich schneller und weniger frustrierend verläuft.<br>
== valgrind ==
+
=== valgrind ===
 
Valgrind ist ein Programm, das die ganze CPU emuliert, es verfolgt jeden einzelnen Zugriff auf den Speicher, den das zu testende Programm macht. Ungültige Speicherzugriffe (z.B. über das ende eines Arrays hinausschreiben) werden auf der Konsole ausgegeben und können im Quellcode sofort ausgebessert werden.
 
Valgrind ist ein Programm, das die ganze CPU emuliert, es verfolgt jeden einzelnen Zugriff auf den Speicher, den das zu testende Programm macht. Ungültige Speicherzugriffe (z.B. über das ende eines Arrays hinausschreiben) werden auf der Konsole ausgegeben und können im Quellcode sofort ausgebessert werden.
 
Die Verwendung ist ganz einfach:
 
Die Verwendung ist ganz einfach:
Zeile 12: Zeile 12:
 
Die Meldungen von valgrind sind etwas kryptisch, es wird aber alles klar, wenn man sich das kurze [http://www.tldp.org/HOWTO/Valgrind-HOWTO/closerview.html#usage howto] durchliest. Das zu testende Programm muss natürlich mit dem flag -d (fürs debuggen) kompiliert sein. Da die cpu emuliert wird, läuft das programm ungefähr 20 mal langsammer. Sollte für das testen aber kein Problem sein.
 
Die Meldungen von valgrind sind etwas kryptisch, es wird aber alles klar, wenn man sich das kurze [http://www.tldp.org/HOWTO/Valgrind-HOWTO/closerview.html#usage howto] durchliest. Das zu testende Programm muss natürlich mit dem flag -d (fürs debuggen) kompiliert sein. Da die cpu emuliert wird, läuft das programm ungefähr 20 mal langsammer. Sollte für das testen aber kein Problem sein.
   
=== Links ===
+
== Links ==
   
 
*[http://www.ba-stuttgart.de/~boehm/NoBugs/www/NoBugs/ recht umfangreiche Linksammlung]
 
*[http://www.ba-stuttgart.de/~boehm/NoBugs/www/NoBugs/ recht umfangreiche Linksammlung]

Version vom 7. April 2005, 14:08 Uhr

Qt

Eine Klassenbibliothek und Entwicklungsumgebung für Programmierung graphischer Benutzeroberflächen.

Debuggen von C/C++ Programmen

Besonders die Speicherzugriffsfehler können schwer zu finden sein. Es gibt aber Tools mit denen die Fehlersuche wesentlich schneller und weniger frustrierend verläuft.

valgrind

Valgrind ist ein Programm, das die ganze CPU emuliert, es verfolgt jeden einzelnen Zugriff auf den Speicher, den das zu testende Programm macht. Ungültige Speicherzugriffe (z.B. über das ende eines Arrays hinausschreiben) werden auf der Konsole ausgegeben und können im Quellcode sofort ausgebessert werden. Die Verwendung ist ganz einfach:

  $ valgrind <das_zu_testende_programm>

Die Meldungen von valgrind sind etwas kryptisch, es wird aber alles klar, wenn man sich das kurze howto durchliest. Das zu testende Programm muss natürlich mit dem flag -d (fürs debuggen) kompiliert sein. Da die cpu emuliert wird, läuft das programm ungefähr 20 mal langsammer. Sollte für das testen aber kein Problem sein.

Links