Video: GDB 2024
Soms kan het probleem met uw C-programmeerinstructies niet worden bepaald door alleen maar te kijken programmastroom. Nee, je moet vies worden in het geheugen en naar de waarde van een variabele kijken terwijl de code loopt. De code:: Met debugger van Block kunt u elke variabele in een programma bekijken, die u de inhoud van die variabele laat zien terwijl het programma wordt uitgevoerd.
WAAR VARIABELEN LURK
#include #include int main () {int x; int * px; px = & x; voor (x = 0; x <10; x ++) printf ("% dn", * px); return 0;}
Oefening 1 : Maak een nieuwe code:: Blokkeert project met foutopsporing actief. Kopieer de bovenstaande broncode naar de hoofdpagina. c bestand. Bouw en ren. Kijk of het werkt.
Dat doet het niet, of het zou niet moeten, tenzij u iets verkeerd hebt getypt. Tijd om te debuggen! Volg deze stappen:
-
Klik met de muis om deze aan het begin van regel 6 te plaatsen, waar de integer-variabele x wordt gedeclareerd.
-
Klik op de knop Run to Cursor op de werkbalk Foutopsporing.
-
Klik op de knop Windows foutopsporing.
-
Kies de opdracht Horloges.
Het venster Horloges verschijnt.
-
Klik met de muis in het eerste blauwe vak in het venster Horloges.
-
Typ x voor variabele x en druk op de Enter-toets.
-
Typ px op de volgende regel om de geheugenlocatie te bekijken die is opgeslagen in de px-aanwijzer. Druk op de toets Enter.
-
Typ * px op de derde regel om de inhoud van de geheugenlocatie te bekijken die is opgeslagen door pointer px. Druk op de toets Enter.
Mogelijk ziet u waarden verschijnen voor die variabelen, hoewel de waarden niet-geïnitialiseerd zijn. Op het scherm bevat de variabele x bijvoorbeeld de waarde 56, wat willekeurige rommel in het geheugen is voordat de variabele een waarde krijgt toegewezen.
Totdat een variabele is geïnitialiseerd, is de inhoud ervan rommel.
-
Klik op de knop Volgende lijn op de werkbalk Foutopsporing tot de cursor op regel 10 staat, het begin van de lus.
Als de waarde van pointer px is toegewezen aan de geheugenlocatie van variabele x , let dan op het venster Horloges. Direct zie je dat een geheugenadres wordt weergegeven door variabele px en zie je de variabele * px gelijk aan de waarde die is toegewezen aan variabele x . De aanwijzer is geïnitialiseerd!
-
Klik nogmaals op de knop Volgende lijn.
Terwijl de for-lus start, wordt de waarde van variabele x geïnitialiseerd. U ziet die waardewijziging in het venster Horloges, samen met de waarde van * px. De waarde van px (het adres van variabele x ) verandert niet.
-
Ga verder door de code om te zien hoe de waarden veranderen.
-
Klik op de knop Stoppen wanneer u klaar bent.
Onderzoek van variabelen in het geheugen is nog een goede manier om te zien wat er met uw code gebeurt. Als de variabelen niet naar behoren werken, moet u de instructies controleren die deze variabelen manipuleren.
Ook door pointers in het geheugen te onderzoeken, kunt u een beter idee krijgen van hoe pointers werken.