Debugger vs Compiler
Na splošno je prevajalnik računalniški program, ki bere program, napisan v enem jeziku, ki se imenuje izvorni jezik, in ga prevede v drug jezik, ki se imenuje ciljni jezik. Tradicionalno je bil izvorni jezik na visoki ravni, kot je C ++, ciljni jezik pa je bil jezik nizke ravni, kot je sestavni jezik. Debugger je računalniški program, ki se uporablja za iskanje napak / napak v drugih programih. Debugger omogoča programerju, da ustavi izvajanje programa na točki in preuči lastnosti, kot so spremenljive vrednosti na tej točki.
Kaj je Debugger?
Debugger je računalniški program, ki se uporablja za iskanje napak / napak v drugih programih. Odpravljanje napak omogoča izvajanje programa in vpogled v vsak korak izvajanja programa. Omogoča tudi zaustavitev izvajanja programa na neki točki in spreminjanje nekaterih spremenljivih vrednosti in nato nadaljevanje izvajanja. Vse te zmogljivosti so na voljo za pomoč programerju, da se prepriča, da se njen program obnaša pravilno, in da pomaga prepoznati napake v kodi. Večina naprav za odpravljanje napak ponuja možnost izvajanja programa korak za korakom (imenovanega tudi enostopenjski), začasno ustavi, da preuči trenutno stanje programa z zagotavljanjem točke preloma in sledenjem spremenljivih vrednosti. Nekateri napredni razhroščevalci omogočajo programerju, da preskoči lokacijo, ki povzroči zrušitev ali logično napako v kodi, in nadaljuje izvajanje z druge lokacije. Nekateri priljubljeni odpravljalci napak so GNU Debugger (GDB), Microsoft Visual Studio Debugger itd..
Kaj je prevajalnik?
Compiler je računalniški program, ki bere program, napisan v enem jeziku, ki se imenuje izvorni jezik, in ga prevede v drug jezik, ki se imenuje ciljni jezik. Najpogosteje je izvorni jezik jezik na visoki ravni, ciljni jezik pa jezik nizke ravni. Torej je na splošno prevajalnike mogoče obravnavati kot prevajalce, ki prevajajo iz enega jezika v drugega. Poleg tega prevajalniki izvedejo nekaj optimizacij kode. Tipični prevajalnik je sestavljen iz več glavnih komponent. Prva komponenta je skener (znan tudi kot leksikalni analizator). Skener prebere program in ga pretvori v niz žetonov. Druga komponenta je razčlenjevalec. Niz žetonov pretvori v drevo razčlenjevanja (ali abstraktno sintaksično drevo), ki zajame skladenjsko strukturo programa. Naslednja komponenta so pomenske rutine, ki interpretirajo semantiko skladenjske strukture. Sledijo optimizacije kod in končna generacija kode.
Kakšna je razlika med razhroščevalcem in prevajalnikom?
Debugger je računalniški program, ki se uporablja za iskanje napak / napak v drugih programih, medtem ko je prevajalnik računalniški program, ki bere program, napisan v enem jeziku in ga prevede v drug jezik. Sestavljalci imajo tudi možnost odkrivanja sintaksovih napak in drugih časovnih napak pri prevajanju, vendar pa razpravljalci ponujajo več zmogljivosti (na primer spremljanje pomnilnika) za odkrivanje napak v programih. Ta dva sta dva različna programa, vendar sta večinoma razhroščevalnik in prevajalnik integrirana v en sam paket.