wspiess: C/C++ Debugging in VC

Beitrag lesen

Hallo Leo,
zu deiner gestrigen EMAIL. Über einige Deiner Fragen bezüglich der VC-IDE
muss ich erst nocheinmal "brüten.
Erstmal zur letzten question

führst du das debugging duch ? ich habe in beispielen immer wieder TRACE, VERIFY und ASSERT »»gelesen. wie werden diese befehle verwendet?

Diese Befehle sind Makros die in der VC IDE abgearbeitet werden.
1.) ASSERT()
Dieses Makro hat die Form ASSERT(argument);.
Das Argument argument wird auf FALSE(=0) oder TRUE (größer NULL)
geprüft. Ein Beispiel  z.B.:

int \* pZahl;  
pZahl=new int;      // liefert NULL, wenn kein Speicher vom Typ Heap zur Verfügung steht  
ASSERT(pZahl);  //  
...  

Ergibt die Überprüfung des Arguments argument FALSE, zeigt das Laufzeitsystem eine Box mit
dem Text "Assertation failed....". Nach der Benutzerbestätigung wird das Programm abgebrochen.
Diese Makro arbeitet nur in der Debug-Version..

2.) Verify()
Um auch in der Releaseversion ein argument in der Art und Weise wie  ASSERT() auszuwerten muss das Makro VERIFY() benutzt werden.

Trace()
Mittels dieses Makros können zur Laufzeit eines Programmes Textausgaben in das Debugfenster
des IDE gemacht werden.Das Makro wird allerdings nur ausgegührt, wenn dass Programm im Debug-Modus ausgeführt wird(siehe oben). Die engültige Programmversion, auch Releaseversion genannt, führt das Makro nicht mehr aus.
Die Funktion ist der printf() Funktion aus der Programmiersprache C angeglichen.
TRACE("ausgabetext %d",wert);
Man nutzt das Makro um die Programmabfolge eines Windowsprogrammes überprüfen zu können.
gruss wolfgang