Tarvitsen joitain selvityksiä siitä, miten GDB toimii pilvipalvelun IDE-ympäristössä
Onko IDE: ssä kaksi erityyppistä virheenkorjainta ympäristö?
-
Vianetsintäohjelma
debug
-komennotulon kautta, joka näyttää kääntämisen vaiheittain / tarkistaa syötteet? (lähdetiedostolle) -
GDB, joka tarkistaa suoritettavan ohjelman?
Kuinka välität argumentteja myös GDB? En näytä ymmärtävän tätä.
Katson pset4: ää ja haluan suorittaa GDB: n suoritettavalla ”copy”: lla ja välittää syötteen ja tulostetiedoston nimen
miten tekisin sen päätelaitteessa
EDIT
myös minun myös virheenkorjausohjelma on rikki
Vastaa
Suorita GDB argumenteilla päätelaitteessa käyttämällä parametria –args.
gdb --args name arg1 arg2 arg3
debug50 (graafinen virheenkorjaaja) on vain GDB, jossa on käyttöliittymä. GDB on alun perin suunniteltu toimimaan terminaalin läpi ja on edelleen. Se on paljon joustavampi kuin mikään graafinen virheenkorjausohjelma.
- Tässä on täydellinen viiteopas GDB: lle: https://sourceware.org/gdb/current/onlinedocs/gdb/
- Ja tässä ”cheat sheet” löysin: https://cs.brown.edu/courses/cs033/docs/guides/gdb.pdf
Tässä on kuitenkin joitain perusteita:
- vaiheittainen virheenkorjaus:
next (or n)
-
Katkaisupisteen asettaminen tapahtuu
break (or b) [function or line number]
-merkillä, esimerkiksi:break main
taibreak 20
jossa katkoviiva on ”20”. -
Suorita ohjelma kohdalla
run (or r)
. -
Käytä
continue or c
siirtyäksesi seuraavaan katkaisupisteeseen. -
Tulostaa muuttuja GDB: n sisällä (ei käytä
printf()
) -tyyppiäprint varname
.
Vaihtoehtoisesti nyt, kun tiedät muutaman komennon, voit suorittaa ohjelman joillakin argumenteilla [r]un arg1 arg2 arg3
.
Mitä tulee debug50: n ongelmat, olen pahoillani sanoa, että debug50: n edeltäjä oli rikki ja näyttää siltä, että debug50 on nyt myös rikki. En koskaan onnistunut korjaamaan sitä ainakaan.
Kommentit
- kiitos hyvin syvällisestä vastauksesta !. Toinen kysymys, onko GDB esiasennettu joihinkin Linux Bash -ympäristöihin ja ehkä Windowsin komentokehotteeseen?
- GDB on esiasennettu jokaisessa Linux-jakelussa sikäli kuin tiedän, ja varmasti suosituimmissa (arch, debian, ubuntu) , jne..). Saadaksesi sen Windowsiin saatat joutua käyttämään Cygwinia tai MinGW: tä (Linux / GNU / POSIX -työkalujen ja muiden asioiden kokoelmat), en tiedä ' en, jos " virallinen " -lataus GDB-lataussivulta gnu.org/software/gdb tukee ikkunoita, en ole kokeillut '.