Video: GDB 2024
Ibland kan problemet med C-programmeringsinstruktionerna inte bestämmas genom att bara titta på programflöde. Nej, du måste gå ner och smutsa i minnet och titta på variabelns värde medan koden körs. Koden:: Blockens debugger låter dig titta på vilken variabel som helst i ett program, vilket visar dig variabelns innehåll när programmet körs.
VAR VARIABLES LURK
#include # include int main () {int x; int * px; px = & x; för (x = 0; x <10; x ++) printf ("% dn", * px); returnera 0;}
Övning 1 : Skapa en ny kod:: Blockerar projektet med felsökning aktiv. Kopiera källkoden ovan till huvudmenyn. c-fil. Bygg och kör. Se om det fungerar.
Det gör inte, eller det borde inte, om du inte misstod något. Dags att felsöka! Följ dessa steg:
-
Klicka på musen för att placera den i början av Linje 6, där heltalvariabeln x anges.
-
Klicka på knappen Kör till markör på verktygsfältet Debugging.
-
Klicka på knappen Debugging Windows.
-
Välj kommandot Klockor.
Fönstret Klockor visas.
-
Klicka på musen i den första blå rutan i fönstret Klockor.
-
Skriv x för variabel x och tryck på Enter-tangenten.
-
Skriv px på nästa rad för att undersöka minnesplatsen som är lagrad i px-pekaren. Tryck på Enter-tangenten.
-
Skriv * px på den tredje raden för att undersöka innehållet i minnesplatsen som lagras av pekare px. Tryck på Enter-tangenten.
Du kan se att värden visas för de variablerna, även om värdena är uninitialiserade. På skärmen innehåller variabel x värdet 56, vilket är vad som helst slumpmässigt skräp visas i minnet innan variabeln är tilldelat ett värde.
Innan en variabel initialiseras är dess innehåll skräp.
-
Klicka på knappen Nästa rad på felsökningsverktygsfältet tills markören är på linje 10, början på loopbandet.
När värdet på pekare px är tilldelat minnesplatsen för variabeln x , var noga med att titta på fönstret Klockor. Omedelbart ser du en minnesadress som visas med variabel px, och du ser variabeln * px som är lika med vad som helst värde tilldelas variabel x . Pekaren har initialiserats!
-
Klicka på knappen Nästa rad igen.
När for loop startar, initierar den värdet av variabel x . Du ser den värdeförändringen i fönstret Klockor, tillsammans med värdet av * px. Värdet på px (adressen till variabel x ) ändras inte.
-
Fortsätt att gå igenom koden för att se värdena ändras.
-
Klicka på Stopp-knappen när du är klar.
Att undersöka variabler i minnet är ännu ett bra sätt att se vad som händer med din kod. Om variablerna inte poppar som de borde måste du kontrollera de uttalanden som manipulerar dessa variabler.
Genom att granska pekare i minnet kan du också få en bättre uppfattning om hur pekare fungerar.