Bare skriv GDB i terminalvinduet for å få tilgang til operativsystemets GDB på Ubuntu eller noe annet Linux eller UNIX-basert operativsystem. GDB -kommandoskjermbildet vises i følgende illustrasjon. Det viser copyright -detaljene til GDB. GDBs åpne ledetekst indikerer informasjonen om når den er forberedt på å godta kommandoer. På noen GDB -konfigurasjoner der OS muliggjør trådene, er disse funksjonene ennå ikke tilgjengelige. Disse instruksjonene har ingen innvirkning på GDB som ikke tillater tråd. For eksempel ignorerer et system som mangler en trådstøtte resultatet av "Info Threads" -spørsmålet og ignorerer konsekvent trådinstruksjonen.
Du må bare skrive inn “Quit” -kommandoen i GDB -terminalen for å avslutte og avslutte din nåværende økt med GDB. Du kan se avsluttet instruksjon på GDB -feilsøking som vist i følgende:
GDB -debuggeren kom med mange feilsøkingskommandoer. Her er noen eksempler som er oppført som vi kan prøve å bruke GDB -feilsøking:
Eksempel:
Her er et lite stykke kode som bruker flere tråder, lager dem med PTHread_Create -metoden og passerer trådenes metoder. Eksempelprogrammet har en hovedfunksjon () som lager to tråder i følgende illustrasjon. Det er nå tre tråder som kjører, inkludert foreldrene/originale Main () tråden. Hoved () -funksjonen bruker Pthread_Create () -funksjonen for å lage trådene og kalle dem etter hverandre.
Mens sløyfen sjekkes i følgende kode for å se om Count1 -variabelen er mindre enn 500. Hvis det er, blir utskriftserklæringen utført for å vise en "Tråd 1 er kjører" -streng sammen med tellevariabelen. Tråden er forbundet umiddelbart etter å ha brukt Pthread_ join () -funksjonskommandoen i denne koden.
Bruk følgende listede kommandoer for å kompilere koden ved hjelp av GCC -kompilatoren og se trådens aktivitet med BNP -feilsøkingen. Følgende bilde er et skjermbilde som viser at den forrige koden er vellykket samlet:
GCC -G Multithreads.C -o multithreads -lpthread
Mens du bruker Ubuntu 20.04 System, skriv inn følgende kommando på terminalskjermen for å se og undersøke tråden.
$ GDB ./Multithreads
Nå er vi i GDB -feilsøkingsmodus, takket være terminalvinduet. For å etablere breakpoints på hovedsaken, bruk tråden to og tråden tre rutiner for hver nydannede tråd. For å sette inn et bruddpunkt, bruker vi følgende listede kode. Det er en enkel kommando; Bare skriv pausen. Etter det, skriv navnet på trådmetodene for å sette inn breakpoints. Denne metoden viser linjenummeret der bruddpunktene ble lagt til etter å ha kommet inn.
For å kjøre programmet, bruk enten "Run" eller Simple "R" nøkkelordet som en kommando på terminalskjermen. En oversikt over programmets tråder og litt informasjon om deres nåværende tilstand er gitt av kommandoinfo -trådene, da du bør ta oppmerksom på. Det har bare vært en tråd startet i dette tilfellet så langt.
Utførelsen skal fortsette å bruke følgende kommando:
Ytterligere to tråder starter på dette stedet. Tråden som for tiden er i fokus, er betegnet av en stjerne. I tillegg er breakpoint -settet for de nyopprettede trådene i initialiseringsmetodene nådd - tråd to () og tråd tre (), spesifikt. Bruk kommandoen til å flytte fokuset til en annen tråd før du starter en faktisk trådfeil. På linje 17 av funksjonstråden to, tråd 2 () stopper.
I henhold til utdataene fra “Info Threads”, skriver tråd to kort ut tellertallet og forlater deretter tråden 2 på linje 17. Tilsvarende kan vi betjene "tråden_three" -tråden ved å bruke en ganske lignende måte som vi brukte til tråden_two.
Konklusjon
For å oppsummere det, er vi endelig i stand til å bruke GDB -debuggeren i Ubuntu 20.04 Linux -system. For dette forklarte vi bruken av bruken i det innledende avsnittet og listet opp noen av hovedfunksjonene som blir gitt oss og gjør det til en unik feilsøking.